CSS дочерний по сравнению с селектором потомков

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

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

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

14
задан Zach Lysobey 16 April 2013 в 14:07
поделиться

1 ответ

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

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

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

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

11
ответ дан 1 December 2019 в 15:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: