CSS, Internet Explorer и волшебство!

Сегодня я наткнулся на этот странный бит CSS...

display: inline !ie;

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

Вы можете добавить "! ie" в конце любого правила, и он будет применяться только M $Internet Explorer 6 и 7

Может ли кто-нибудь пролить свет на эту WTF?

Ответы

Ответ 1

Internet Explorer 7 и ниже имеют несколько особенностей, связанных с важным объявлением, которое должно придавать значение более важное значение, чем обычно. [3] IE7 и ранее принимают практически любую строку вместо важного и обрабатывают значение обычно, в то время как другие браузеры будут игнорировать его.

Взято из! Важный раздел Quirks в CSS Filter - Wikipedia

Ответ 2

Угадаю, я бы сказал, что Internet Explorer пытается восстановить то, что явно является ошибкой. Также будет работать следующее:

display: inline !pudding;

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

В некоторых случаях пользовательские агенты должны игнорировать часть недопустимой таблицы стилей. Эта спецификация определяет игнорирование, означающее, что пользовательский агент анализирует незаконную часть (чтобы найти ее начало и конец), но в противном случае действует так, как будто этого не было.

http://www.w3.org/TR/CSS21/syndata.html#parsing-errors