Подтвердить что ты не робот

Применяйте правила CSS, если браузер IE

Возможный дубликат:
Как выполнить условия IE в CSS?

Как я могу применять правила ниже только к IE?

.abc {

float:left;
height:0;
margin:0 10px;
width:0;

/*Apply these rules for IE only*/
position:absolute;
left:30;
top:-10;
/*Apply these rules for IE only*/
}
4b9b3361

Ответ 1

В браузерах до IE9 включая IE9 это делается через условные комментарии.

<!--[if IE]>
<style type="text/css">
  IE specific CSS rules go here
</style>
<![endif]-->

Ответ 2

Хороший способ избежать загрузки нескольких файлов CSS или встроенного CSS - передать класс телу body в зависимости от версии Internet Explorer. Если вам нужны только общие хаки IE, вы можете сделать что-то вроде этого, но его можно расширить, чтобы быть специфичным для версии:

<!--[if IE ]><body class="ie"><![endif]-->
<!--[if !IE]>--><body><!--<![endif]-->

Теперь в коде css вы можете просто:

.ie .abc {
  position:absolute;
  left:30;
  top:-10;
}

Это также сохраняет ваши файлы CSS действительными, так как вам не нужно использовать грязные (и недопустимые) хаки CSS.

Ответ 3

Быстрый подход состоит в том, чтобы использовать следующее в соответствии с тем, что вы хотите сфокусироваться (проверить комментарии), внутри ваших файлов css (где margin-top, установить любой атрибут css, который вам нравится):

margin-top: 10px\9; /*It will apply to all ie from 8 and below */
*margin-top: 10px; /*It will apply to ie 7 and below */
_margin-top: 10px; /*It will apply to ie 6 and below*/

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

Ответ 4

Я предпочитаю использовать отдельный файл для правил, как описано ранее.

<!--[if IE]><link rel="stylesheet" type="text/css" href="ie-style.css"/><![endif]-->

И внутри него вы можете настроить правила для разных версий, т.е. используя это:

.abc {...} /* ALL MSIE */
*html *.abc {...} /* MSIE 6 */
*:first-child+html .abc {...} /* MSIE 7 */