国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS優先級和!important與IE6的BUG討論及解決方案

2024-07-11 08:36:38
字體:
來源:轉載
供稿:網友

一、css的優先級
今天有人跟我說csshack中用!important來區分ie6,因為ie6不支持!important,是的在很早以前我也是用過這種方法寫hack,但是后來就基本不用了。本來我對他誰的ie6不支持!important也沒什么異議,可是正好在前幾天正好用個這個!important屬性解決了一個樣式優先級的問題,而且是支持ie6的,這是為什么呢?到底ie6支不支持!important呢?
首先我們來看看!important這個屬性的作用:!important是用來提升樣式優先級的,我們知道樣式是有優先級的。
我們先看看css的優先級的幾個基本的規則
ID選擇器(形如#id{})>類選擇器(形如.class{})>標簽選擇器(形如body{}或者*{}),也就是ID選擇器,類選擇器,標簽選擇器中,ID選擇器的優先級最高,標簽選擇器最低;選擇器越具體優先級就越高,也就是


.classA.classB.classC{font-size:25px;}
.classB.classC{font-size:18px}
.classC{font-size:12px;}

這里.classA.classB.classC的優先級最高,.classC的優先級最低;
•在同一個級別的情況下,最后指定的規則優先級就越高,也就是我們通常說的就近原則;
•html中標簽的style的屬性都高于css文件中的選擇器樣式;
•標有”!important”的規則有最高優先級。
我們可以利用!important使該樣式優先級最高,例如:


#idA{font-size:20px}
.classA{font-size:12px;}

HTML代碼:我要20像素的字


#idA{font-size:20px}
.classA{font-size:12px!important;}

HTML代碼:我要12像素的字
這樣.classA{font-size:12px!important;}這個樣式就被引用了。
這種方法在優先級低的樣式被優先級高的樣式覆蓋,又想引用優先級低的樣式時候非常有用!
二、!important在ie6下的一個BUG
還是看這一段代碼,


#idA{font-size:20px}
.classA{font-size:12px!important;}

HTML代碼:我要12像素的字
大家可以在IE6下測試一下,文字是12像素的,也就是.classA{font-size:12px!important;}被引用了,這證明IE6是支持!important的。但是csshack中用!important來區分ie6,說ie6不支持!important又是怎么回事呢?
原來ie6下,在同一個選擇器樣式(即同一個大括號里面)下!important是無效的,例如:


.classA{font-size:68px!important;font-size:12px}

HTML代碼:我要12像素的字
這里在ie6下是12像素的字,而其他瀏覽器下是68px的字,當然我們把樣式改一下,!important放在后面,即


.classA{font-size:12px;font-size:68px!important;}

,那么ie6下和其他瀏覽器一樣也是68px的字。也就是在同一個選擇器樣式(即同一個大括號里面)下!important被ie6徹底的無視了。
==============以下2009年8月1日更新==============

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北票市| 上杭县| 长兴县| 辉南县| 洛宁县| 泊头市| 霸州市| 大丰市| 大渡口区| 海伦市| 吉安市| 彭泽县| 两当县| 凤山市| 南宫市| 静海县| 阿拉善右旗| 洪洞县| 芮城县| 新河县| 吴川市| 莱西市| 丹巴县| 尉氏县| 香港| 连平县| 许昌县| 金山区| 孟津县| 韶山市| 米林县| 邯郸市| 如皋市| 铁力市| 汶上县| 泉州市| 太仆寺旗| 扎赉特旗| 南部县| 南雄市| 昆明市|