Tag: 网页布局
解决 IE 和 FIREFOX 的布局差别的利器:"!important"
—
by
div+css网页布局的设计者常常会被一个问题困扰着。在IE和其他(Mozilla、Opera等)浏览器里显示的效果常常会偏差2px。这是因为IE对盒之间距离的解释的bug造成的。一个技巧提示帮我们找到了解决的方法:用!important。 !important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权。 语法格式{ sRule!important },即写在定义的最后面,如: box{color:red !important;} 最重要的一点是:IE一直都不支持这个语法,而其他的浏览器都支持。我们就可以利用这一点来分别给IE和其它浏览器不同的样式定义。如: 在fIREFOX中浏览时候,能够理解!important的优先级,因此显示#000000的颜色; 在IE中浏览时候,不能够理解!important的优先级,因此显示#ffOOOO的颜色。 可以看到,利用!important,我们可以针对IE和非IE浏览器设置不同的样式,只要在非IE浏览器样式的后面加上!important。 一位网友的发现 可能某位Web designer在写CSS代码的时候,已经为某个class写了一段代码,后来忘记了又重新写了一段并使用了!important,于是发现了这个问题(所有的CSS Hack技术几乎都来来自不经意间的发现)。 我们把上面那段简单的代码换一种写法: 基本上完全一样的写法,只不过我们把一个class为a的CSS规则分开写了两次,正是这样的写法,使IE 6产生了奇妙的变化——!important居然起作用了! 所以,在 IE 6 中书写CSS时,当同一个属性多次出现在一个大括号”{}”时,最后一条规则起作用,也就是!important被忽视;当同一个属性多次出现在不同的大括号中时,以!important属性的优先级最高。