Селекторы CSS2 не работают на IE8 - PullRequest
3 голосов
/ 22 февраля 2011

Кто-нибудь знает, почему следующий код CSS не работает на IE8, и все же он работает на КАЖДОМ ДРУГОМ браузере?

table.wrap tr:first-child td, table.wrap tr:last-child td { height:20px; }
table.wrap td:first-child, table.wrap td:last-child { width: 20px; }

Я понимаю, что IE8 не поддерживает функции CSS3.Но я не думаю, что я использую CSS3 здесь.

Я искренне ценю вашу помощь.

Большое вам спасибо!

Ответы [ 3 ]

5 голосов
/ 22 февраля 2011

См. Quirksmode.org для полной таблицы совместимости всех функций CSS во всех различных браузерах.

Как вы увидите по ссылке выше, IE8 не поддерживает функцию last-child.

Он поддерживает first-child, но, поскольку вы собрали их вместе в одном селекторе, он все выбросит, потому что не распознает last-child часть.

Также обратите внимание, что Quirksmode first-child содержит ошибки в IE8, поэтому, даже если он поддерживается, вы можете быть осторожны с его использованием.

Чтобы решить эту проблему, вы можете попробовать взломать IE, чтобы он поддерживал дополнительные функции CSS.

Тот, который выглядит довольно хорошо, - Selectivizr . Вы также можете посмотреть Дин Эдвардс ie7.js / ie8.js / ie9.js . Оба они предназначены для исправления отсутствующих функций в более старых версиях IE. Они не идеальны, но могут решить проблему для вас.

Надеюсь, это поможет.

0 голосов
/ 22 февраля 2011

Я считаю, что last-child является частью css3 и не поддерживается IE8.

0 голосов
/ 22 февраля 2011
...