Ext css中!important的用途?请详细说明~thanks!
[url]http://www.52css.com/article.asp?id=937[/url]
这个说明比较详细
语法:
sRule!important
说明:
sRules : 样式表条目
提升指定样式规则的应用优先权。
示例:
div { color:red!important }
看了群博客上balibell说的“‘!important’ 在同一条样式定义中即大括号{}中,firefox、opera优先认领,ie不认得即忽略’!important’字符串。在非同一条样式中即不同的大括号中{}标有‘!important’的样式对所有浏览器均属优先认领。网上有说ie不认‘!important’的,大错特错了。”看来自己也是这么错误地过来了。难怪今天改css的时候,我只想针对firefox来做一个padding-bottom,就写了个.class{padding- bottom:6px !important;}可是却没有效果呢。看来网上也不能全信啊。
原来css在同一个大括号内是让firefox优先认领,也就是说只有在同一括号内定下两个样式的时候ie不得不忽略掉它,而不是像网上大多介绍的那样直接忽略。其实!important还有保护的作用,在任何需要保护的属性后面插入它可以避免被基于特性的属性覆盖。例如:#nav a{color:red;} a{color:teal !important},通常,一个带有id名#nav的元素里的一个链接会变设设位红色,因为这个#nav a比标签样式具体的多,但因为包含了!important,以为则会这个属性永远胜出。
这样,对!important的理解也就更深入了。
哦,这样叫!important才对么。
另再补充下css的优先级,一个标签选择器1分,一个类选择器10分,一个id选择器100,一个行内样式1000,!important就当无限分吧,呵呵。分值相同时按后出现优先的原则算,ok.
关于CSS的运用技巧有很多, 今天主要探讨一下CSS中 !important 这个属性的用法。在CSS的使用中,遇到最多的问题就是不同浏览器之间的兼容问题。 由于IE并不严格执行W3C标准, 而又几乎垄断了浏览器市场。所以作为一名合格的网站制作人员, 必须要针对不同的浏览器进行微调。 实现不同浏览器之间兼容的方法有很多,比如利用JS探测用户的浏览器类型,从而调用不同的样式表。 或者就是利用!important 属性来实现微调的效果。 下面是具体的例子。
下面是一段普通的 DIV 代码:
下面是有关层A在CSS样式表中的定义, 注意,这里使用了!important这个属性。
#a{margin-left:30px!important; margin-left:20px;}
在上面的例子中, 层a 在IE浏览器中, 左边距为20像素, 而在Firefox中, 左边距则变为30像素。 这是因为, !important在 CSS 中表示优先调用, 由于IE不能够识别这个属性, 所以在IE中, 只能够调用 “margin-left:20px;" 这个选项, 所以同样的一段代码, 在Firefox和IE中就会显示不同的样式。
不过值得注意的是, 最新版的IE 7.0 已经可以识别 !important, 这个属性了, 但是IE 6.0仍然不能识别。 所以这个小技巧还是相当有用的.