!important用法使用介紹
發(fā)布時間:2013-10-05 16:46:48 作者:佚名
我要評論

!important只有Ie7.0和firefox可以識別,但是Ie6.0不能成功應(yīng)用,在本文將為大家介紹下!important的使用方法,感興趣的朋友可以了解下
*對于Ie系列瀏覽器都能夠識別, firefox 瀏覽器則不能識別;
!important只有Ie7.0和firefox可以識別,但是Ie6.0不能成功應(yīng)用.
(1)區(qū)別ie與firefox的hack為:
border:2px solid #f00;
*border:1px solid #f00;
(2)區(qū)別Ie6.0 與Ie7.0、firefox的hack為:
border:1px solid #f00!important;
border:2px solid #f00;
在(1)中,之所以把*放在后面是因為ff不識別*而導(dǎo)致只對它設(shè)置了一次border;而ie 系列進(jìn)行了兩次border設(shè)置后,后一個屬性覆蓋了前一個屬性,故為一像素的邊框。
在(2)中,之所以把!important放在第一個border 設(shè)置,是因為它把這次border的優(yōu)先級提高了,即使后面在一次甚至在N次設(shè)置border 也無效,但是Ie6.0對這個規(guī)則不接受,而導(dǎo)致它應(yīng)用了第二次的border 設(shè)置,也就是第二次覆蓋了第一次的這一原理, 并不是它不識別!important;所以它的border為2 像素的紅框.
CSS
1 #Box div{
color:red;
}
2 .important_false{
color:blue;
}
3.important_true{
color:blue !important;
}
HTML
<div id="Box">
<div class="important_false">這一行末使用important</div>
<div class="important_true">這一行使用了important</div>
</div>
第一行字為紅色,第二行子為藍(lán)色。
important對 一個良好(或者是標(biāo)準(zhǔn))的瀏覽器來說,不僅僅是從順序上提升代碼的優(yōu)先級,還可以用來提升class的優(yōu)先級(比如firefox),但是從IE對前者的不支持可以看出,這只是IE的一大BUG,而不能說它“不認(rèn)識、不支持”!
在IE中對盒模型(box-model)的解釋是有BUG的,IE6.0之前的版本會把某元素的邊框值和填充值包含在寬度之內(nèi)(而不是加在寬度值上)。例如,你可能會使用以下css來指定某個容器的尺寸:
#box
{
width:100px;
border:5px;
padding:20px;
}
然后在html中應(yīng)用:盒的總寬度在幾乎所有瀏覽器中為150像素(100像素寬度+兩條5像素的邊框+兩個20像素的填充),唯獨(dú)在IE6之前版本的瀏覽器中仍然為100像素(邊框值和填充值包含在寬度值中),使用盒模型的hack可以解決這一問題
#box
{
width:150px; //這個是錯誤的width,所有瀏覽器都讀到了
voice-family: \}\; //IE5.X/win忽略了\}\后的內(nèi)容
voice-family:inherit;
width:100px; //包括IE6/win在內(nèi)的部分瀏覽器讀到這句,新的數(shù)值(100px)覆蓋掉了舊的
}
!important只有Ie7.0和firefox可以識別,但是Ie6.0不能成功應(yīng)用.
(1)區(qū)別ie與firefox的hack為:
border:2px solid #f00;
*border:1px solid #f00;
(2)區(qū)別Ie6.0 與Ie7.0、firefox的hack為:
border:1px solid #f00!important;
border:2px solid #f00;
在(1)中,之所以把*放在后面是因為ff不識別*而導(dǎo)致只對它設(shè)置了一次border;而ie 系列進(jìn)行了兩次border設(shè)置后,后一個屬性覆蓋了前一個屬性,故為一像素的邊框。
在(2)中,之所以把!important放在第一個border 設(shè)置,是因為它把這次border的優(yōu)先級提高了,即使后面在一次甚至在N次設(shè)置border 也無效,但是Ie6.0對這個規(guī)則不接受,而導(dǎo)致它應(yīng)用了第二次的border 設(shè)置,也就是第二次覆蓋了第一次的這一原理, 并不是它不識別!important;所以它的border為2 像素的紅框.
CSS
復(fù)制代碼
代碼如下:1 #Box div{
color:red;
}
2 .important_false{
color:blue;
}
3.important_true{
color:blue !important;
}
HTML
復(fù)制代碼
代碼如下:<div id="Box">
<div class="important_false">這一行末使用important</div>
<div class="important_true">這一行使用了important</div>
</div>
復(fù)制代碼
代碼如下:第一行字為紅色,第二行子為藍(lán)色。
important對 一個良好(或者是標(biāo)準(zhǔn))的瀏覽器來說,不僅僅是從順序上提升代碼的優(yōu)先級,還可以用來提升class的優(yōu)先級(比如firefox),但是從IE對前者的不支持可以看出,這只是IE的一大BUG,而不能說它“不認(rèn)識、不支持”!
在IE中對盒模型(box-model)的解釋是有BUG的,IE6.0之前的版本會把某元素的邊框值和填充值包含在寬度之內(nèi)(而不是加在寬度值上)。例如,你可能會使用以下css來指定某個容器的尺寸:
復(fù)制代碼
代碼如下:#box
{
width:100px;
border:5px;
padding:20px;
}
然后在html中應(yīng)用:盒的總寬度在幾乎所有瀏覽器中為150像素(100像素寬度+兩條5像素的邊框+兩個20像素的填充),唯獨(dú)在IE6之前版本的瀏覽器中仍然為100像素(邊框值和填充值包含在寬度值中),使用盒模型的hack可以解決這一問題
復(fù)制代碼
代碼如下:#box
{
width:150px; //這個是錯誤的width,所有瀏覽器都讀到了
voice-family: \}\; //IE5.X/win忽略了\}\后的內(nèi)容
voice-family:inherit;
width:100px; //包括IE6/win在內(nèi)的部分瀏覽器讀到這句,新的數(shù)值(100px)覆蓋掉了舊的
}
相關(guān)文章
- CSS Grid 是一種二維布局系統(tǒng),可以同時控制行和列,相比 Flex(一維布局),更適合用在整體頁面布局或復(fù)雜模塊結(jié)構(gòu)中,這篇文章主要介紹了前端CSS Grid 布局詳解,需要的朋2025-04-16
CSS Padding 和 Margin 區(qū)別全解析
CSS 中的 padding 和 margin 是兩個非常基礎(chǔ)且重要的屬性,它們用于控制元素周圍的空白區(qū)域,本文將詳細(xì)介紹 padding 和 margin 的概念、區(qū)別以及如何在實際項目中使用它們2025-04-07- will-change 是一個 CSS 屬性,用于告訴瀏覽器某個元素在未來可能會發(fā)生哪些變化,本文給大家介紹CSS will-change 屬性詳解,感興趣的朋友一起看看吧2025-04-07
- 本文給大家分享在 CSS 中,去除a標(biāo)簽(超鏈接)的下劃線的幾種方法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-04-07
- 在前端開發(fā)中,CSS(層疊樣式表)不僅是用來控制網(wǎng)頁的外觀和布局,更是實現(xiàn)復(fù)雜交互和動態(tài)效果的關(guān)鍵技術(shù)之一,隨著前端技術(shù)的不斷發(fā)展,CSS的用法也日益豐富和高級,本文將2025-04-07
css中的 vertical-align與line-height作用詳解
文章詳細(xì)介紹了CSS中的`vertical-align`和`line-height`屬性,包括它們的作用、適用元素、屬性值、常見使用場景、常見問題及解決方案,感興趣的朋友跟隨小編一起看看吧2025-03-26淺析CSS 中z - index屬性的作用及在什么情況下會失效
z-index屬性用于控制元素的堆疊順序,值越大,元素越顯示在上層,它需要元素具有定位屬性(如relative、absolute、fixed或sticky),本文給大家介紹CSS 中z - index屬性的作用2025-03-21- 文章詳細(xì)介紹了CSS中的打印媒體查詢@mediaprint包括基本語法、常見使用場景和代碼示例,如隱藏非必要元素、調(diào)整字體和顏色、處理鏈接的URL顯示、分頁控制、調(diào)整邊距和背景等2025-03-18
CSS模擬 html 的 title 屬性(鼠標(biāo)懸浮顯示提示文字效果)
本文介紹了如何使用CSS模擬HTML的title屬性,通過鼠標(biāo)懸浮顯示提示文字效果,通過設(shè)置`.tipBox`和`.tipBox.tipContent`的樣式,實現(xiàn)了提示內(nèi)容的隱藏和顯示,感興趣的朋友一起2025-03-10前端 CSS 動態(tài)設(shè)置樣式::class、:style 等技巧(推薦)
本文介紹了Vue.js中動態(tài)綁定類名和內(nèi)聯(lián)樣式的兩種方法:對象語法和數(shù)組語法,通過對象語法,可以根據(jù)條件動態(tài)切換類名或樣式;通過數(shù)組語法,可以同時綁定多個類名或樣式,此外2025-02-26