2012-11-13 35 views
1

我有一個簡單的div與2px厚的邊界和絕對定位,這隱藏,直到其父元素被盤旋。由於IE的盒子型號,所以div在IE中的位置有些偏離,但沒有任何其他瀏覽器。我不想爲IE添加完全獨立的樣式表,如果瀏覽人員使用IE,我只想修改類本身。僅爲IE設置CSS?

那麼如何修改只爲IE添加一個特定的類?

回答

2

您需要使用一些名爲的條件註釋。這些只能在IE中使用(其他瀏覽器會將它們視爲註釋),因此它們是僅以IE爲目標的好方法。

- 如果你想在IE6做一些使用以下命令:

<!--[if IE 6]> 
Special instructions for IE 6 here 
<![endif]-- 

要了解更多信息,請訪問official MSDN source regarding conditional comments

+1

我可以在CSS代碼中插入這些意見,甚至更好,直接在類的定義裏面? –

+1

看看我發佈的源代碼鏈接,它會告訴你一切,如果你喜歡,你甚至可以把這些評論放在JavaScript的附近! – lifetimes

+0

@dsg:代碼末尾缺少右V形字符('') – Guy

1

你可以在你的html(或其他)文件中添加下面的條件片段。之後,你可以在你的ie_stylesheet.css

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

定義新類的屬性,我認爲有足夠的解釋here

+0

感謝您的鏈接 –

0

我發現的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; 
} 

不需要單獨的樣式表。

來源:Conditional stylesheets vs CSS hacks? Answer: Neither!