div+css网页布局的设计者常常会被一个问题困扰着。在IE和其他(Mozilla、Opera等)浏览器里显示的效果常常会偏差2px。这是因为IE对盒之间距离的解释的bug造成的。一个技巧提示帮我们找到了解决的方法:用!important。

!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权。
语法格式{ sRule!important },即写在定义的最后面,如:

box{color:red !important;}

最重要的一点是:IE一直都不支持这个语法,而其他的浏览器都支持。我们就可以利用这一点来分别给IE和其它浏览器不同的样式定义。如:

<!--
.style1 {
	color: #FF0000;
	margin:auto;
	width:500px;
	padding:50px;
	border:#000000 solid 10px !important;
	border:#FF0000 solid 10px;
}
-->

在fIREFOX中浏览时候,能够理解!important的优先级,因此显示#000000的颜色;
在IE中浏览时候,不能够理解!important的优先级,因此显示#ffOOOO的颜色。
可以看到,利用!important,我们可以针对IE和非IE浏览器设置不同的样式,只要在非IE浏览器样式的后面加上!important。

一位网友的发现

可能某位Web designer在写CSS代码的时候,已经为某个class写了一段代码,后来忘记了又重新写了一段并使用了!important,于是发现了这个问题(所有的CSS Hack技术几乎都来来自不经意间的发现)。

我们把上面那段简单的代码换一种写法:

<!--
.style1 {
	border:#000000 solid 10px !important;

}
.style1 {
 
	border:#FF0000 solid 10px;
}
-->

基本上完全一样的写法,只不过我们把一个class为a的CSS规则分开写了两次,正是这样的写法,使IE 6产生了奇妙的变化——!important居然起作用了!
所以,在 IE 6 中书写CSS时,当同一个属性多次出现在一个大括号”{}”时,最后一条规则起作用,也就是!important被忽视;当同一个属性多次出现在不同的大括号中时,以!important属性的优先级最高。

相关文章

  1. Firefox 里 list-style 不显示
  2. Firefox 3.0市场占有率提至第二
  3. Firefox 优化篇
  4. GooglePreview —- Firefox 附加组件
  5. Atahualpa 主题升级 在 firefox 下显示的问题

标签: ,

Leave a Reply

*
请输入图片中的字符以验证你并非垃圾机器人. 点击图片收听验证码的语音版.
点击这里收听此验证码的语音版本


关于站长

姚迎迎,生于 1985年3月2日, 江苏大丰人士 。修行于福州大学软件学院

Google AD

最近文章

标签云

ajax Apache apt-get CSS Debian dedecms error firefox HeidiSQL htaccess html IE6 javascript jQuery lamp linux mod_rewrite mysql mysql5 MySQL Front php phplist phpmyadmin postfix thinkphp Ubuntu ubuntu server wordpress 京腔 代码 十年 年轻的时候很傻很天真 悉尼歌剧院 数据库 新贵妃醉酒 李玉刚 歌词 歌词翻译 盛世霓裳 示例 翻译 芳华绝代 视频 贵妃醉酒 音乐

Google 广告