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