css中的!important

1定义及语法编辑

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

2W3c的解释编辑

CSS企图创造一个平衡作者和用户之间的级层样式表。
默认情况下,CSS规则按级层覆盖,例如在.CSS文件中的定义可以被style标签的定义覆盖,反之则不行。
然而,对覆盖平衡而言,加上一个“!important”就优先于正常的CSS规则。
例:
p {  text-indent: 1em ! important }
p { font-style: italic ! important }
p {  font-size: 18pt }
p { text-indent: 1.5em}
p { font: normal 12pt sans-serif}
p { font-size: 24pt }
在这些规则中 未被覆盖的有:
p { text-indent: 1em ! important }
p { font-style: italic ! important }
p { font-size: 24pt }

3浏览器识别编辑

ie7, ie8, firefox, chrome等高端浏览器下,已经可以识别 !important属性, 但是IE 6.0仍然不能完全识别. important的样式属性和覆盖它的样式属性单独使用时(不在一个{}里),IE 6.0认为! important优先级较高,否则当含! important的样式属性被同一个{}里的样式覆盖时,IE 6.0认为! important较低!
important,最主要是为了IE 6.0浏览器。

4案例解析编辑

最重要的一点是:IE 6.0一直都不支持这个语法,而其他的浏览器都支持。因此我们就可以利用这一点来分别
给IE和其他浏览器不同的样式定义,例如,我们定义这样一个样式:
colortest
{border:20px solid #60A179 !important;
border:20px solid #00F;
padding: 30px;
width : 300px;}
在Mozilla中浏览时候,能够理解!important的优先级,因此显示#60A179的颜色:
在IE中浏览时候,不能够理解!important的优先级,因此显示#00F的颜色:
可以看到,利用!important,我们可以针对IE和非 IE浏览器设置不同的样式,只要在非IE浏览器样式的后面加
上!important。
ie6不完全支持!important
IE支持重定义中的!important,例如:
.yuanxin {color:#e00!important;}
.yuanxin {color:#000;}
你将会发现定义了样式class="yuanxin"时,在IE下,字体显示为红色(#e00)。
但不支持同一定义中的!important。例如:
.yuanxin {color:#e00!important;color:#000;}
此时在IE6下不支持,你将会发现定义了样式class="yuanxin"时,字体显示为黑色(#000)。
ie6中:
/*样式1*/
#a{width:100 !important;} /*有效*/
#a{width:50px;} /*无效*/
/*样式2*/
#a{width:100px !important; width:50px;} /*width:100px无效,width:50px 有效*/


来自百度百科
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值