我有一個簡單的div
與2px厚的邊界和絕對定位,這隱藏,直到其父元素被盤旋。由於IE的盒子型號,所以div
在IE中的位置有些偏離,但沒有任何其他瀏覽器。我不想爲IE添加完全獨立的樣式表,如果瀏覽人員使用IE,我只想修改類本身。僅爲IE設置CSS?
那麼如何修改或只爲IE添加一個特定的類?
我有一個簡單的div
與2px厚的邊界和絕對定位,這隱藏,直到其父元素被盤旋。由於IE的盒子型號,所以div
在IE中的位置有些偏離,但沒有任何其他瀏覽器。我不想爲IE添加完全獨立的樣式表,如果瀏覽人員使用IE,我只想修改類本身。僅爲IE設置CSS?
那麼如何修改或只爲IE添加一個特定的類?
您需要使用一些名爲的條件註釋。這些只能在IE中使用(其他瀏覽器會將它們視爲註釋),因此它們是僅以IE爲目標的好方法。
例 - 如果你想在IE6做一些使用以下命令:
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]--
要了解更多信息,請訪問official MSDN source regarding conditional comments。
你可以在你的html(或其他)文件中添加下面的條件片段。之後,你可以在你的ie_stylesheet.css
<!--[if IE]>
<link type="text/css" rel="stylesheet" media="all" href="ie_stylesheet.css"/>
<![endif]-->
定義新類的屬性,我認爲有足夠的解釋here。
感謝您的鏈接 –
您可以嘗試通過向樣式表開頭添加CSS重置來避免IE樣式表。請看下面的內容:http://www.cssreset.com/scripts/html5-doctor-css-reset-stylesheet/
重置應該有助於使元素在所有瀏覽器中表現相同。
我發現的conditional comments這樣的用法與類標記您的<html>
標籤的非常優雅的方式,你可以在你的CSS和JS工作:
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
作爲一個人爲的例子,如果你想要將IE6的目標設置爲紅色,您可以使用如下特殊功能:
.lt-ie7 a {
color: red;
}
不需要單獨的樣式表。
我可以在CSS代碼中插入這些意見,甚至更好,直接在類的定義裏面? –
看看我發佈的源代碼鏈接,它會告訴你一切,如果你喜歡,你甚至可以把這些評論放在JavaScript的附近! – lifetimes
@dsg:代碼末尾缺少右V形字符('') – Guy