CSS только для IE 8 - PullRequest
       7

CSS только для IE 8

0 голосов
/ 29 апреля 2011

Мне нужно стилизовать некоторые элементы только для IE 8. Если я сделаю это:

<!--[if IE 8]><link rel="stylesheet" href="mystyleIE8.css" type="text/css" media="screen, projection"/><![endif]-->

и тогда я делаю:

<!--[if IE 7]><link rel="stylesheet" href="myStyleIE7.css" type="text/css" media="screen, projection"/><![endif]-->

Что будет? Я нашел эту ссылку на предыдущий вопрос SO , который подразумевал, что <!--[if IE 8]> означает «Если IE 8 или ниже». Означает ли это, что использование <!--[if IE 8]> перезапишет все <!--[if IE 7]> css? Сможет ли моя программа использовать <!--[if IE 8]> только для IE 8 и <!--[if IE 7]> для IE 7?

Ответы [ 4 ]

4 голосов
/ 29 апреля 2011

Это не означает «Если IE 8 или ниже».

<!--[if IE 8]>

означает, что это IE8

<!--[if lt IE 8]>

Если оно меньше, чем IE 8

<!--[if lte IE 8]>

Если оно меньше или равно IE 8

4 голосов
/ 29 апреля 2011

Если вы сделаете, как в вашем примере, IE8 получит mystyleIE8.css, а IE7 получит mystyleIE7.css.

Это так называемые условные комментарии.Вы можете использовать другие синтаксисы для других сценариев.В этом примере:

<!--[if lte IE 7]>
stuff
<![endif]-->

«материал» будет применяться только ко всем версиям Internet Explorer 7 и ниже.

Подробнее см., Например, http://www.quirksmode.org/css/condcom.html,.

3 голосов
/ 29 апреля 2011

KatieK правильно. Если вы загляните внутрь комментариев:

если IE 8

Означает «Если браузер IE версии 8», который включает в себя только IE8.

если IE 7

Означает «Если браузер IE 7 версии», который включает только IE7.

Существует синтаксис, который разрешает меньше, чем. Но то, что вы показали, не так ли. Контрастность с

если IE IE 8

Означает «Если браузер меньше или равен IE версии 8», включая IE8, IE7, IE6 и IE5.5.

если IE IE 7

Означает «Если браузер меньше или равен IE версии 7», включая IE7, IE6 и IE5.5.

0 голосов
/ 29 апреля 2011

Вы можете попробовать следующие CSS Hacks . Интересные вещи.

...