我可以在1條件加載中寫入所有用於IE錯誤的CSS嗎?如何正確使用條件註釋?
<!--[if lt IE 9]>
<link href="ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
如果我讓1個條件註釋與LT IE 9,我可以寫IE7和IE8裏面的CSS或做我需要做2種不同的樣式?
我可以在1條件加載中寫入所有用於IE錯誤的CSS嗎?如何正確使用條件註釋?
<!--[if lt IE 9]>
<link href="ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
如果我讓1個條件註釋與LT IE 9,我可以寫IE7和IE8裏面的CSS或做我需要做2種不同的樣式?
您放入該條件註釋內的所有內容都將由相應的瀏覽器解釋。這意味着您可以在單個條件註釋中放置多個鏈接標籤。但就你而言,它們全部將由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;
}
如果要使用不同的樣式表的每個版本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]-->
另外,如果你想使用相同樣式表的大於或等於9的所有版本的IE少,用途:
<!--[if lte IE 9]>
<link href="ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
謝謝你的快速回答。有條件評論的最佳做法是什麼?要使用1個條件註釋或其中的2個-3?或使用類? – user2852447
@ user2852447如果它必須是瀏覽器特定的,那麼我將使用單個條件。否則,如果它適用於所有版本,請使用單個條件。 –
鑑於[IE 10不支持條件註釋](http://www.sitepoint.com/microsoft-drop-ie10-conditional-comments/),所有小於9的IE版本都可以省略條件和只是目標'
感謝的人!我可以爲所有人使用一個班級嗎? 並將其放在我需要的東西 – user2852447
我編輯了我的答案並添加了一個示例。 – jack