CSS中的!important属性用法
?由于IE并不嚴格執行W3C標準, 而又幾乎壟斷了瀏覽器市場。 所以作為一名合格的網站制作人員, 必須要針對不同的瀏覽器進行微調。 實現不同瀏覽器之間兼容的方法有很多, 比如利用JS探測用戶的瀏覽器類型,從而調用不同的樣式表。 或者就是利用!important 屬性來實現微調的效果。?
?
下面是一段普通的 DIV 代碼:
<div id="a"></div>
下面是有關層A在CSS樣式表中的定義, 注意,這里使用了!important這個屬性。
#a{margin-left:30px!important; margin-left:20px;}
在上面的例子中, 層a 在IE瀏覽器中, 左邊距為20像素, 而在Firefox中, 左邊距則變為30像素。 這是因為, !important在 CSS 中表示優先調用, 由于IE不能夠識別這個屬性, 所以在IE中, 只能夠調用 “margin-left:20px;" 這個選項, 所以同樣的一段代碼, 在Firefox和IE中就會顯示不同的樣式。
不過值得注意的是,?最新版的IE 7.0 已經可以識別 !important, 這個屬性了, 但是IE 6.0仍然不能識別。 所以這個小技巧還是相當有用的.
?
可使用如下代碼檢測當前IE瀏覽器的版本(注意:在非IE瀏覽器中是看不到效果的),此方法用于IE5及以上版本。?
HTML 的注釋格式是 <!-- Comment content --> , IE 對HTML注釋做了一些擴展,使之可以支持條件判斷表達式:?
<!--[if expression]> HTML <![endif]--> 當表達式expression 為True 的時候,顯示 HTML 內容。?
?
<!--[if IE]> You are using Internet Explorer. <![endif]-->
<!--[if IE 7]> Welcome to Internet Explorer 7! <![endif]-->
<!--[if !(IE 7)]> You are not using version 7. <![endif]-->
<!--[if gte IE 7]> You are using IE 7 or greater. <![endif]-->
<!--[if (IE 5)]> You are using IE 5 (any version). <![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]> You are using IE 5.5 or IE 6. <![endif]-->
<!--[if lt IE 5.5]> Please upgrade your version of Internet Explorer. <![endif]-->
?
(2)應該如何應用條件注釋?
?
因為IE各版本的瀏覽器對我們制作的WEB標準的頁面解釋不一樣,具體就是對CSS的解釋不同,我們為了兼容這些,可運用條件注釋來各自定義,最終達到兼容的目的。?
?
比如: < !–- 默認先調用css.css樣式表 –->?
<link rel="stylesheet" type="text/css" href="css.css" />< !-–[if IE 7]>?
<!–- 如果IE瀏覽器版是7,調用ie7.css樣式表- –>?
<link rel="stylesheet" type="text/css" href="ie7.css" />< ![endif]–->?
<!–-[if lte IE 6]>?
<!–- 如果IE瀏覽器版本小于等于6,調用ie.css樣式表 -–>?
<link rel="stylesheet" type="text/css" href="ie.css" />< ![endif]–> 這其中就區分了IE7和IE6向下的瀏覽器對CSS的執行,達到兼容的目的。同時,首行默認的css.css還能與其他非IE瀏覽器實現兼容。?
注意:默認的CSS樣式應該位于HTML文檔的首行,進行條件注釋判斷的所有內容必須位于該默認樣式之后。 比如如下代碼,在IE瀏覽器下執行顯示為紅色,而在非IE瀏覽器下顯示為黑色。如果把條件注釋判斷放在首行,則不能實現。該例題很能說明網頁對IE瀏覽器和非IE瀏覽器間的兼容性問題解決。 <style type="text/css"> body{ } < /style> < !-–[if IE]>?
<style type="text/css">body{}< /style>< ![endif]–->?
同時,有人會試圖使用<!–-[if !IE]>來定義非IE瀏覽器下的狀況,但注意:條件注釋只有在IE瀏覽器下才能執行,這個代碼在非IE瀏覽下非單不是執行該條件下的定義,而是當做注釋視而不見。?
正常就是默認的樣式,對IE瀏覽器需要特殊處理的,才進行條件注釋。在HTML文件里,而不能在CSS文件中使用。?
現在的DWcs4里面,已經裝備了這些注釋:在“窗口-->代碼片段-->注釋”里。其他的版本沒太注意到。?
?
?
?
?
?
轉載于:https://www.cnblogs.com/zhaoleigege/p/4797387.html
總結
以上是生活随笔為你收集整理的CSS中的!important属性用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity 游戏开发技巧集锦之使用忍者飞
- 下一篇: webform 页面传值的方法总结