最近在做一个网页,菜单栏在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,这些我也是刚试出来的。
你用的是IE几?