用!important解決IE和Mozilla的布局差別
在設(shè)計(jì)《網(wǎng)頁設(shè)計(jì)師》頁面的時(shí)候,有一個(gè)問題一直困擾著我,主菜單在IE和其他(Mozilla、Opera等)瀏覽器里顯示的效果偏差2px。截圖如下:
IE中的效果
Mozilla Firefox中的效果
這是因?yàn)镮E對盒之間距離的解釋的bug造成的(參考o(jì)nestab的" 浮動模型的問題 ")。我一直沒有解決這個(gè)問題,直到我翻譯 " 表格對決CSS--一場生死之戰(zhàn) "時(shí),作者的一個(gè)技巧提示幫我找到了解決的方法:用!important。
!important是CSS1就定義的語法,作用是提高指定樣式規(guī)則的應(yīng)用優(yōu)先權(quán)(參見:W3.org的解釋)。語法格式{ sRule!important },即寫在定義的最后面,例如:
box{color:red !important;}最重要的一點(diǎn)是:IE一直都不支持這個(gè)語法,而其他的瀏覽器都支持。因此我們就可以利用這一點(diǎn)來分別給IE和其他瀏覽器不同的樣式定義,例如,我們定義這樣一個(gè)樣式:
.colortest {
border:20px solid #60A179 !important;
border:20px solid #00F;
padding: 30px;
width : 300px;
}
在Mozilla中瀏覽時(shí)候,能夠理解!important的優(yōu)先級,因此顯示#60A179的顏色:
在IE中瀏覽時(shí)候,不能夠理解!important的優(yōu)先級,因此顯示#00F的顏色:
可以看到,利用!important,我們可以針對IE和非IE瀏覽器設(shè)置不同的樣式,只要在非IE瀏覽器樣式的后面加上!important。因此,上面提到的我的主頁2px的顯示差別也輕松解決:
PADDING-TOP: 11px !important;
PADDING-TOP: 9px;
!important必定成為CSS布局的利器,請記住和掌握它吧:)
相關(guān)文章
CSS3+Js實(shí)現(xiàn)響應(yīng)式導(dǎo)航條
今天制作了一個(gè)響應(yīng)式導(dǎo)航條,能夠自動隨著不同的屏幕分辨率或?yàn)g覽器窗口大小的不同而改變導(dǎo)航條的樣式,這里主要用到的就是CSS3的Media Query。2014-05-05
HTML DOM setInterval和clearInterval方法案例詳解
這篇文章主要介紹了HTML DOM setInterval和clearInterval方法案例詳解2021-08-08
利用模糊實(shí)現(xiàn)視覺3D效果實(shí)例講解
這篇文章主要介紹了利用模糊實(shí)現(xiàn)視覺3D效果實(shí)例,文中運(yùn)用代碼和圖片講解相關(guān)知識非常詳細(xì),感興趣的小伙伴一起來看看吧2021-09-09

