我们有时候设置了css属性,但是在chrome查看时候发现设置的属性并没有起作用,用开发者工具查看,属性上被画了横线
color:red;
被横线划掉的Css是因为属性的不支持或者层次被覆盖
具体可能性有以下几种:
-
浏览器对样式有支持和不支持属性,被横线划掉的属于不支持属性
-
浏览器会自动调用跟指定元素有关的所有样式,被横线划掉的属于不次级元素样式,他的层次不如留下来的层次高。所以被划掉了。
-
浏览器对Css3属性有兼容性
-webkit-/-moz-/-o/....
一、oprea浏览器的Css3属性只支持 -o-为前缀的
二、-webkit- 是谷歌的浏览器支持属性
三、-moz-火狐的
四、-ms- IE的。
这时我们就要提升样式的优先级,这里使用到 !important
转自: http://blog.csdn.net/m0_38099607/article/details/72860779
一、语法
选择器{样式:值!import;}
二、说明
提升指定样式规则的应用优先权,即!important为开发者提供了一个增加样式权重的方法,让浏览器首选执行这个语句。
例如下面这个样式:
如果是在除了IE6的浏览器中,这些浏览器支持!important属性,也就是说他们会默认让margin-left:20px!important; 这条语句生效,下面的不带!important声明的样式将不会覆盖它,换句话说就是他的级别最高,下面的人都不能取代我!
在IE6及以下浏览器有个比较显式的支持问题存在,!important在同一条规则集里不生效。请看下述代码:
在上述代码中,IE6及以下浏览器中div的margin-left与其它浏览器一致,都为20px;
注意:
1、IE6及更早浏览器下,!important在同一条规则集内不生效。
2、如果!important被用于一个简写的样式属性,那么这条简写的样式属性所代表的子属性都会被作用上!important。
3、关键字!important必须放在一行样式的末尾并且要放在该行分号前,否则就没有效果。