CSS потомок против потомка - PullRequest
14 голосов
/ 27 августа 2010

Я прочитал, что использование дочернего селектора (>) в CSS быстрее, чем дочерний селектор (). Например: p > em вместо p em.

Мне кажется, что большая часть кода, который я вижу в дикой природе, не пользуется этим.

Я понимаю, что определенные обстоятельства заслуживают использования одного или другого, но в целом, должен ли я стремиться использовать выбор ребенка, когда это возможно? Или я должен следовать тому, что кажется условным, и полагаться главным образом на потомок селектора?

1 Ответ

11 голосов
/ 27 августа 2010

Теоретически дочерний селектор будет быстрее, чем дочерний селектор, потому что браузер может прекратить проверку дочерних узлов после первого уровня.Однако я подозреваю, что любое улучшение производительности, которое вы увидите из этого, будет незначительным, так как браузеры в первую очередь быстро анализируют CSS.

Как указывало NullUserException, селектор не работает в IE6, поэтому, если вам все равнонасчет IE6 я бы не стал загружать твой CSS этим.Но хорошо помнить, что у вас должно быть четкое представление о том, что использовать в какой ситуации.Спросите себя: «Хочу ли я, чтобы эта декларация охватывала всех совпадающих детей, или я хочу, чтобы она охватывала только прямых совпадающих детей?»Может показаться очевидным задать себе такой вопрос, но на самом деле это единственный способ, которым вы должны выбирать между ними.Не используйте >, если не имеете в виду.

Также см. Мой вопрос Есть ли преимущество в использовании очень специфических селекторов в CSS?

См. Также: Поддержка селектора CSS для браузера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...