CSS中提升优先级属性!important的用法总结

来源:互联网 发布:串口和网络调试工具 编辑:程序博客网 时间:2024/05/19 16:27
前提:

我们有时候设置了css属性,但是在chrome查看时候发现设置的属性并没有起作用,用开发者工具查看,属性上被画了横线

color:red;


被横线划掉的Css是因为属性的不支持或者层次被覆盖

具体可能性有以下几种:

  1. 浏览器对样式有支持和不支持属性,被横线划掉的属于不支持属性

  2. 浏览器会自动调用跟指定元素有关的所有样式,被横线划掉的属于不次级元素样式,他的层次不如留下来的层次高。所以被划掉了。

  3. 浏览器对Css3属性有兼容性

    -webkit-/-moz-/-o/....

    一、oprea浏览器的Css3属性只支持 -o-为前缀的

    二、-webkit- 是谷歌的浏览器支持属性

    三、-moz-火狐的

    四、-ms- IE的。



这时我们就要提升样式的优先级,这里使用到 !important 


转自: http://blog.csdn.net/m0_38099607/article/details/72860779


一、语法 
选择器{样式:值!import;} 
二、说明 
提升指定样式规则的应用优先权,即!important为开发者提供了一个增加样式权重的方法,让浏览器首选执行这个语句。

例如下面这个样式:

div{     margin-left:20px!important;     margin-left:40px;}

如果是在除了IE6的浏览器中,这些浏览器支持!important属性,也就是说他们会默认让margin-left:20px!important; 这条语句生效,下面的不带!important声明的样式将不会覆盖它,换句话说就是他的级别最高,下面的人都不能取代我! 
在IE6及以下浏览器有个比较显式的支持问题存在,!important在同一条规则集里不生效。请看下述代码:

div {     margin-left:20px!important;}div {     margin-left:40px;}

在上述代码中,IE6及以下浏览器中div的margin-left与其它浏览器一致,都为20px; 
注意: 
1、IE6及更早浏览器下,!important在同一条规则集内不生效。 
2、如果!important被用于一个简写的样式属性,那么这条简写的样式属性所代表的子属性都会被作用上!important。 
3、关键字!important必须放在一行样式的末尾并且要放在该行分号前,否则就没有效果。



原创粉丝点击