亚洲AV无码乱码在线观看不卡|最新大伊香蕉精品视频在线|亚洲不卡av一区二区|国产美女无遮挡免费

登錄論壇 | 注冊(cè)會(huì)員 設(shè)為首頁(yè) | 收藏本站
當(dāng)前位置 : 首頁(yè)>軟件學(xué)院>程序開(kāi)發(fā)>CSS>正文
 
css優(yōu)先級(jí)和!important與ie6的BUG

http://www.yibo1263.com 2009-8-4 8:57:40  來(lái)源:東北IT網(wǎng)  編輯:葉子
 

一 css的優(yōu)先級(jí)

今天有人跟我說(shuō)css hack中用!important來(lái)區(qū)分ie6,因?yàn)閕e6不支持!important,是的在很早以前我也是用過(guò)這種方法寫(xiě)hack,但是后來(lái)就基本不用了。本來(lái)我對(duì)他誰(shuí)的ie6不支持!important也沒(méi)什么異議,可是正好在前幾天正好用個(gè)這個(gè)!important屬性解決了一個(gè)樣式優(yōu)先級(jí)的問(wèn)題,而且是支持ie6的,這是為什么呢?到底ie6支不支持!important呢?

首先我們來(lái)看看!important這個(gè)屬性的作用:!important是用來(lái)提升樣式優(yōu)先級(jí)的,我們知道樣式是有優(yōu)先級(jí)的。

我們先看看css的優(yōu)先級(jí)的幾個(gè)基本的規(guī)則:

  1. ID選擇器(形如#id{}) > 類(lèi)選擇器(形如.class{}) > 標(biāo)簽選擇器(形如body{}或者*{}),也就是ID選擇器,類(lèi)選擇器,標(biāo)簽選擇器中,ID選擇器的優(yōu)先級(jí)最高,標(biāo)簽選擇器最低;
  2. 選擇器越具體優(yōu)先級(jí)就越高,也就是
    .classA .classB .classC{font-size: 25px;}
    .classB .classC{font-size:18px}
    .classC { font-size: 12px; }
    這里.classA .classB .classC的優(yōu)先級(jí)最高,.classC的優(yōu)先級(jí)最低;
  3. 在同一個(gè)級(jí)別的情況下,最后指定的規(guī)則優(yōu)先級(jí)就越高,也就是我們通常說(shuō)的就近原則;html中標(biāo)簽的style的屬性都高于css文件中的選擇器樣式;
  4. 標(biāo)有”!important”的規(guī)則有最高優(yōu)先級(jí)。

我們可以利用!important使該樣式優(yōu)先級(jí)最高,例如:

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

HTML代碼:

我要20像素的字

我們知道根據(jù)上面的規(guī)則可以看出#idA{font-size:20px}的樣式將被引用,那我們?nèi)绻?2像素的字呢?

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

HTML代碼:

我要12像素的字

這樣.classA{ font-size: 12px !important; }這個(gè)樣式就被引用了。

這種方法在優(yōu)先級(jí)低的樣式被優(yōu)先級(jí)高的樣式覆蓋,又想引用優(yōu)先級(jí)低的樣式時(shí)候非常有用!

二  !important在ie6下的一個(gè)BUG

還是看這一段代碼,

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

HTML代碼:

我要12像素的字

大家可以在IE6下測(cè)試一下,文字是12像素的,也就是.classA{ font-size: 12px !important; }被引用了,這證明IE6是支持!important的。但是css hack中用!important來(lái)區(qū)分ie6,說(shuō)ie6不支持!important又是怎么回事呢?

原來(lái)ie6下,在同一個(gè)選擇器樣式(即同一個(gè)大括號(hào)里面)下!important是無(wú)效的,例如:

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

HTML代碼:

我要12像素的字

這里在ie6下是12像素的字,而其他瀏覽器下是68px的字,當(dāng)然我們把樣式改一下,!important放在后面,即.classA{ font-size: 12px;font-size: 68px !important; },那么ie6下和其他瀏覽器一樣也是68px的字。也就是在同一個(gè)選擇器樣式(即同一個(gè)大括號(hào)里面)下!important被ie6徹底的無(wú)視了。

==============以下2009年8月1日更新==============

昨天在紫鼠的博客上也看到了關(guān)于!important的文章,說(shuō)IE8在同一個(gè)選擇器樣式(即同一個(gè)大括號(hào)里面)下對(duì)!important的解析也是和IE6一樣的,可是我測(cè)試的情況是IE8和IE6是不一樣的,并留了言,今天我們討論了這個(gè)問(wèn)題,確實(shí)他寫(xiě)的他寫(xiě)的代碼IE8和IE6對(duì)!important的解析是一樣的。經(jīng)過(guò)比較發(fā)現(xiàn),他代碼上沒(méi)有DTD的聲明,就是html代碼上面的這一句:“”,神啊,在沒(méi)有DTD的聲明的情況下,在同一個(gè)選擇器樣式(即同一個(gè)大括號(hào)里面)下,IE6,IE7,IE8對(duì)!important的解析都是無(wú)效的。還有只要有聲明文檔類(lèi)型的不管是html4,xhtml1.o,還有html5(“”),除去ie6有上面說(shuō)的BUG外其他都是正常的。

 
收藏】【打印】【進(jìn)入論壇
  相關(guān)文章:

 
 
 
 
最新文章

中關(guān)村艷照門(mén)女主角詳記錄高清組圖 
大連護(hù)士門(mén)大尺度艷照高清組圖
iPhone女孩微博爆紅 最寶貴東西換iPhon
反恐精英之父內(nèi)維爾:改變電腦游戲銷(xiāo)售
團(tuán)購(gòu)網(wǎng)站黎明之前:中國(guó)市場(chǎng)慘烈廝殺不
團(tuán)購(gòu)鼻祖Groupon中國(guó)揭秘:快與慢的商業(yè)
Spil Games發(fā)布新的品牌形象
1800配置一臺(tái)主機(jī) 不要顯示器
聯(lián)想V360筆記本模特寫(xiě)真
愛(ài)國(guó)者第四代移動(dòng)硬盤(pán)將面市、低電壓保

 
推薦文章
1
2
3
4
5
6
7
8
9
10
iPhone女孩微博爆紅 最寶貴東西換
大連護(hù)士門(mén)大尺度艷照高清組圖
中關(guān)村艷照門(mén)女主角詳記錄高清組
蘋(píng)果員工中毒門(mén)
宮如敏不雅照瘋傳 看張馨予韓一菲
深耕市場(chǎng) 永續(xù)經(jīng)營(yíng)——專(zhuān)訪百腦匯
優(yōu)派專(zhuān)業(yè)電子書(shū) 讓您回家旅途多姿
揭曉百萬(wàn)大獎(jiǎng)三星bada魅力綻放中
大明龍權(quán)“江湖英雄會(huì)”全國(guó)PK大
永恒之塔校園達(dá)人挑戰(zhàn)賽完美落幕
八卦圖解 More>>
iPhone女孩微博爆紅 最寶貴東西換 大連護(hù)士門(mén)大尺度艷照高清組圖
中關(guān)村艷照門(mén)女主角詳記錄高清組 宮如敏不雅照瘋傳 看張馨予韓一菲