CSS Hack之!important

最近在做一个网页,菜单栏在IE和其他(Mozilla、Opera等)中总是有些偏差。这是因为IE对盒之间距离的解释的bug造成的,其实用!important可以解决。

不过网上对!important的用法很多都只是说是IE不识别,很容易让初学者误解。IE并非不识别带!important的属性,只是不识别!important的优先级。举个例子:

#content { 
    margin: 0px;
    padding: 5px!important;
}

在IE下padding会被解释为5px,其他浏览器也会解释为5px,再看下面一段代码:

#content { 
    margin: 0px;
    padding: 5px!important;
    padding: 10px;
}

在IE下padding会被解释为10px,而不是5px,其他浏览器会解释为5px。

这是因为IE不识别!important的优先级造成的,遇到相同的属性,会解释最近的一个,如下:

#content { 
    margin: 0px;
    padding: 10px;
    padding: 5px!important;
}

在IE下padding会被解释为5PX,又不在是10PX,这些我也是刚试出来的。

CSS Hack之!important》有一个想法

评论已关闭。