2013-10-06 3 views
0

Могу ли я написать все CSS для ошибок IE в 1 условной загрузке?Как правильно использовать условные комментарии?

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

Если я 1 условный комментарий с LT IE 9, я могу написать CSS для IE7 и IE8 внутри или мне нужно сделать 2 разных стилей?

ответ

1

Все, что вы помещаете внутри этого условного комментария, будет интерпретироваться соответствующими браузерами. Это означает, что вы можете поместить несколько тегов ссылок внутри одного условного комментария. Но в вашем случае все они будут интерпретироваться IE 5,6,7 и 8. Если вам нужна отдельная таблица стилей для каждой версии, вам также понадобится отдельный условный комментарий для каждой версии.

Но вы обязательно должны взглянуть на этом блоге:

http://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

Этот метод может помочь вам очищая все эти условные комментарии.

редактировать:

Вот пример:

HTML:

<!--[if IE]><html class="ie"><![endif]--> 
<!--[if !IE]><!--><html><!--<![endif]--> 
<head></head> 
<body> 
<h1>Foo!</h1> 
</body> 
</html> 

CSS:

h1{ 
    font-size:2em; 
} 

.ie h1{ 
    /* will only apply to IEs - but all of them */ 
    font-size:1.5em; 
} 
+0

Благодаря человеку! Могу ли я использовать один класс для всех? и поставьте это перед вещами, которые мне нужны – user2852447

+0

Я отредактировал свой ответ и добавил пример. – jack

1

Если вы хотите использовать другую таблицу стилей для каждой версии IE, вам также нужно будет сделать другое условное для каждого; ссылаясь на уникальную таблицу стилей. lt Стенды для «меньше», а также lte, который «меньше или равен».

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

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

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

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

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

Благодарим вас за быстрый ответ. Каковы наилучшие методы использования условных комментариев? Использовать 1 условный комментарий или 2 -3 из них? или использовать классы? – user2852447

+0

@ user2852447 Если он должен быть специфичным для браузера, я бы пошел с отдельными условными обозначениями. В противном случае, если он применим ко всем версиям, перейдите к одному условному. –