!important全面解析_CSS教程

      編輯Tag賺U幣
      教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
        CSS中的!important是一個(gè)非常重要的屬性,有時(shí)候發(fā)揮著非常大的作用,Mb5u.com這方面的知識(shí)并不是非常多,我們看下面的文章,對(duì)它作比較感觀的了解。
        前幾天寫(xiě)一些CSS代碼的時(shí)候又難為我了,因?yàn)槟莻(gè)該死的IE6對(duì)CSS的支持是如此的差勁,以前我還沒(méi)注意過(guò),因?yàn)樽龅臇|西基本都是基于IE的,可是我這次為博客寫(xiě)的CSS要支持不止IE一個(gè)瀏覽器,可恨的是我裝的Windows 7,這里面自帶的是IE8瀏覽器,我自認(rèn)為已經(jīng)沒(méi)有問(wèn)題了,可是打開(kāi)IE6,仍然出現(xiàn)錯(cuò)位,于是我決定看看IE6到底是什么情況。
        我把所有的CSS塊兒全部使用邊框包起來(lái),結(jié)果看到在IE中兩個(gè)div之間的距離明顯要寬于其他瀏覽器,比如你寫(xiě)一個(gè)div的margin屬性為20px,那么在IE中就好像是40px一樣,這也就是為什么本來(lái)精度計(jì)算的剛剛好,在IE下卻偏偏錯(cuò)位的原因。
        后來(lái)我看到了!important這個(gè)屬性,這個(gè)屬性其實(shí)也是css規(guī)范中的,結(jié)果IE6愣是不支持,也正因?yàn)樗恢С郑抛尯芏嗟腃SSer們找到了解決的方法。一般來(lái)講,在css中,如果在同一個(gè)css塊中寫(xiě)下兩個(gè)同樣的屬性,那么其實(shí)是按照最下面的來(lái)執(zhí)行的,比如說(shuō):

      示例代碼 [www.wf0088.com]
      .home{
      margin-left:20px;
      margin-left:40px;
      }

        那么在執(zhí)行的時(shí)候其實(shí)是按照40px來(lái)執(zhí)行的,!important的出現(xiàn)就是為了讓用戶自己設(shè)置被執(zhí)行語(yǔ)句的優(yōu)先級(jí)。如果把上面的語(yǔ)句改為:

      示例代碼 [www.wf0088.com]
      .home{
      margin-left:20px!important;
      margin-left:40px;
      }

        那么在火狐、google瀏覽器以及IE7以上版本下將會(huì)按照20px來(lái)執(zhí)行,而在IE6下卻仍然按照40px來(lái)執(zhí)行,因?yàn)镮E6并不支持!important規(guī)范,我們就可以按照這個(gè)規(guī)則來(lái)滿足IE6的設(shè)計(jì)需要,什么時(shí)候發(fā)現(xiàn)IE6和其他瀏覽器顯示效果不同,那么就設(shè)置兩個(gè),在上面的一個(gè)加入!important標(biāo)記,而下面的一句則不需要添加,這樣IE6就按照下面的來(lái)執(zhí)行了。資深的CSSer說(shuō):如今的CSS處處!important。這可都是天殺的IE6惹的禍,大家說(shuō)IE6就是一坨代謝產(chǎn)物一點(diǎn)也不為過(guò)。

      來(lái)源:52CSS//所屬分類(lèi):CSS教程/更新時(shí)間:2012-06-11
      相關(guān)CSS教程