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

首頁 > 開發 > CSS > 正文

css中!important的作用(IE6 IE7 FF)及其原理

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

{*rule !important}這個css規則當今在網頁制作的時候的普及已經非常流行了,以前我對它的理解就停留在‘瀏覽器是否識別階段’ 而沒有真正去研究過,可是現在發生了變化。眾所周知,!important這個規則對Ie6.0,Ie7.0和Firefox能寫hack,現在就來講解這是什么原理:

*對于Ie系列瀏覽器都能夠識別, firefox 瀏覽器則不能識別;

!important只有Ie7.0和firefox可以識別,但是Ie6.0不能成功應用.

(1)區別ie與firefox的hack為:border:2px solid #f00;*border:1px solid #f00;

(2)區別Ie6.0 與Ie7.0、firefox的hack為:border:1px solid #f00!important;border:2px solid #f00;

在(1)中,之所以把*放在后面是因為ff不識別*而導致只對它設置了一次border;而ie 系列進行了兩次border設置后,后一個屬性覆蓋了前一個屬性,故為一像素的邊框。

在(2)中,之所以把!important放在第一個border 設置,是因為它把這次border的優先級提高了,即使后面在一次甚至在N次設置border 也無效,但是Ie6.0對這個規則不接受,而導致它應用了第二次的border 設置,也就是第二次覆蓋了第一次的這一原理, 并不是它不識別!important;所以它的border為2 像素的紅框.

這是一個簡單的應用:

例一:

CSS

復制代碼
代碼如下:
#Box {
2 color:red !important;
3 color:blue;
4 }

HTML

1 <div id="Box"> 在不同的瀏覽器下,這行字的色應該不同!</div>

這個例子應該是大家經常見到的important的用法了,在IE環境下,這行字是藍色,在firefox下,為紅色,其用法不再多說了,看下一個例子。

例二:

CSS

復制代碼
代碼如下:
#Box div{
color:red;
}
.important_false{
color:blue;
}
.important_true{
color:blue !important;
}

HTML

復制代碼
代碼如下:
<div id="Box">
<div class="important_false">這一行末使用important</div>
<div class="important_true">這一行使用了important</div>
</div>

例二中,CSS代碼第一行設定了box里面所有div中字體色為紅色,第二行和第三行都用class重新定義了自身div的字體色為藍色,不同的是,第二行末使用important,而第三行使用了!

默認情況下,class的優先級小于id,所以,第二行中即使用class重定義了自身樣式,也無法生效,所以繼承父級屬性,這行字還是紅色!
但是,第三行中,用了important提升優先級(或看成強制重定義),所以這里的css得以生效,這行字變為了藍色!從這個例子,得以證明,ie對important的并不是不支持!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇州市| 顺昌县| 河源市| 舟曲县| 灵台县| 会宁县| 平江县| 宁德市| 巧家县| 桐柏县| 滦南县| 宝丰县| 瑞金市| 河南省| 北辰区| 万盛区| 灌阳县| 玉门市| 遂溪县| 临安市| 喀喇沁旗| 通州区| 临清市| 天全县| 崇州市| 肥西县| 浦东新区| 临漳县| 繁峙县| 眉山市| 马龙县| 湾仔区| 宣武区| 中宁县| 久治县| 福贡县| 兴业县| 专栏| 阜南县| 禄丰县| 托克逊县|