IE Взломать, как сделать IE, чтобы пропустить / избежать чтения строки в таблице стилей - PullRequest
7 голосов
/ 23 января 2012

Можно ли заставить Internet Explorer пропускать или избегать чтения строки в таблице стилей CSS?

В основном меня интересует IE8, но мне интересны решения для любой версии.

Ответы [ 3 ]

6 голосов
/ 23 января 2012

Чтобы IE8 (и старше) не читал стили, просто используйте в селекторе что-то, что не поддерживается и поддерживается всеми другими браузерами.

Например, добавьте :root в селектор,Вот пример: http://jsfiddle.net/mathias/kX6tR/

.foo { background: red; }
:root .foo { background: lime; }

:root поддерживается в IE9 и всех других браузерах, поэтому это безопасный CSS-хак .

3 голосов
/ 23 января 2012

Всегда лучше вообще избегать взломов.В вашем случае правильнее всего переопределить правило CSS для IE в отдельной таблице стилей и включить его после основного файла стилей.

<link rel="stylesheet" href="nice_browsers.css" />
<!--[if IE]>
<link rel="stylesheet" href="dumb_ie.css" />
<![endif]-->

Кроме того, обычные браузеры не будут загружать второй файл,так что никаких дополнительных HTTP-запросов.И основной файл CSS будет проверен (если вы заботитесь об этом - и вам, вероятно, следует)

1 голос
/ 23 января 2012

другая опция:

Позвольте IE прочитать строку в вашей таблице стилей, а затем перезаписать строку в определенной таблице стилей, загруженной впоследствии, используя условный комментарий:

http://www.quirksmode.org/css/condcom.html

таким образом вы избавите свои таблицы стилей от хаков селекторов.

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