свойство css распознается только в Internet Explorer - PullRequest
1 голос
/ 11 января 2011

Как всегда, есть кое-что, что работает в FF, но не работает правильно в IE. Поэтому мой вопрос заключается в следующем: есть ли способ вставить свойства класса в css, которые распознаются только Internet Explorer 8.

.style1, .style2 .style3 {
   height: 20px;
}

Я хочу, чтобы свойство height было видно только для Internet Explorer (я использую версию 8), потому что высота отображается правильно в FF, но если бы я вставил height: 20px для обоих браузеров, то в FF это было бы слишком много, так что мне нужно это только в IE. Есть ли способ сделать это?

Ответы [ 4 ]

4 голосов
/ 11 января 2011

Как указывали другие, условные таблицы стилей обычно используются для определения конкретных версий IE.

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

На вашей веб-странице (ах):

<!--[if lt IE 7]>  <body class="ie ie6 lte9 lte8 lte7"> <![endif]-->
<!--[if IE 7]>     <body class="ie ie7 lte9 lte8 lte7"> <![endif]-->
<!--[if IE 8]>     <body class="ie ie8 lte9 lte8">      <![endif]-->
<!--[if IE 9]>     <body class="ie ie9 lte9">           <![endif]-->
<!--[if gt IE 9]>  <body class="ie">                    <![endif]-->
<!--[if !IE]><!--> <body> <!--<![endif]-->

В вашей таблице стилей:

.ie8 .style1, .ie8 .style2 .i8 .style3 {
   height: 20px;
}

Пол Ирриш и другие имеют много документации и тестовых случаев для этого метода. Вот хорошая отправная точка: http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

2 голосов
/ 11 января 2011

Не напрямую в css, нет.Но вы можете использовать условные комментарии на своей html-странице для загрузки таблиц стилей CSS только в том случае, если в браузере используется IE или определенная версия IE:

<!--[if ie]>
    <link rel="stylesheet" type="text/css" href="path/to/ie-stylesheet.css" />
<![end if]-->

. Вы также можете настроить это наверсии IE, с:

только IE 8

<!--[if ie 8]>
    <link rel="stylesheet" type="text/css" href="path/to/ie-stylesheet.css" />
<![end if]-->

версии IE больше, чем IE 7

<!--[if gt ie 7]>
    <link rel="stylesheet" type="text/css" href="path/to/ie-stylesheet.css" />
<![end if]-->

версии IE больше или равны IE 7

<!--[if gte ie 7]>
    <link rel="stylesheet" type="text/css" href="path/to/ie-stylesheet.css" />
<![end if]-->

Версии IE меньше чем 8

<!--[if lt ie 8]>
    <link rel="stylesheet" type="text/css" href="path/to/ie-stylesheet.css" />
<![end if]-->

Версии IE меньше или равные 8

<!--[if lte ie]>
    <link rel="stylesheet" type="text/css" href="path/to/ie-stylesheet.css" />
<![end if]-->
0 голосов
/ 11 января 2011

Вы ищете это?

How to create IE-Only StyleSheet

0 голосов
/ 11 января 2011

Это то, что Условные комментарии IE существуют для:)

Чтобы стиль работал только в IE, вы должны сделать:

<!--[if IE]>
<style type="text/css">
  /* styles for the IE */
</style>
<![endif]-->

Или выМожно создать отдельную таблицу стилей для IE и импортировать ее следующим образом:

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

Условные комментарии работают только в Проводнике в Windows и поэтому отлично подходят для предоставления специальных инструкций, предназначенных только для Проводника вОкна.Они поддерживаются начиная с Explorer 5 и далее, и даже можно различить 5.0, 5.5 и 6.0.

Больше информации

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