IE4.01-IE5.01: Child Selector Hack

27th August 2004 - 22:39

Ещё раз об опасности дочерних селекторов с пробелами:

body > p {color:red; font-weight:bold;}
html > p {color:red; font-weight:bold;}
html > body p {color:red; font-weight:bold;}

Эти параграфы будут красными в IE4.01-IE5.01. Пример.

Вывод: писать html>body вместо html > body — хорошая привычка.

Categories: CSS | comments: (1)

Комментарии

1. Baka 28th August 2004 - 18:09

А как «должно быть»?

(Да не только IE4.01-IE5.01.
В «Примере» я вижу чёрный только номер «two» в Опере (7.23) и МозиллеФФ (0.8), а в ИЕ5.0 — чёрный только номер «three».
Вероятно, кто-то из них не прав? )

Mash:

IE не прав, Opera/Mozilla показывают верно.

Все сегодняшние версии IE не понимают дочерних селектров, однако указанные выше версии IE ещё и трактуют их по-своему: body > p {color:red; font-weight:bold;} понимают как p {color:red; font-weight:bold;}. Если же этот селектор писать без пробелов, то IE «пройдёт мимо» (#tree).

#two чёрного цвета в Opera/Mozilla потому, что p в данном примере является дочерним элементом по отношению к body, но не к html.

Комментарии временно отключены.