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

前提:

我们有时候设置了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必须放在一行样式的末尾并且要放在该行分号前,否则就没有效果。



  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值