详解css样式处理的优先级

想要对一个标签处理它的样式,可以用 class=“” 的方式来定义它的类,然后在类中处理他的样式

例如:

<style>
     .box{width:100px;height:100px;background:#0f0}
</style>

<div class="box" ></div>

当然也可以用 id ,或者干脆直接对标签写样式,然而如果把这些定义都放在了一个元素中的时候,就蒙圈了,计算机到底先处理谁呢?需要更改的时候,改哪个呢?

比如这样的问题:

<style>
div{}
.aa{}
#bb{}
</style>
<div class="aa" id="bb"  style="xxx:xxx"></div>

里面既定义了 标签 div 又定义了 类aa 还定义了 bb,而且又在里面定义了 行内样式 style="xxx:xxx" 那么如果我要更改的话,到底改谁呢。这就涉及到一个css 样式优先级的问题了。

经过总结:得到如下经验:

优先级:

规则一:标签< class < id < 行内样式 <!import 

规则二:同级元素以顺序排序作为判断依据:下面的覆盖上面的


例子一:

class 和 id比较

<style>
.hh{clear:both}
#bo{background:#0f0;width:100px; height:100px} /*绿色*/
.box{width:50px;height:50px;background:#00f;float:left}
</style> 

<div class="box"></div>
<div class="box" id="bo"></div>



总结:

一、优先级高的 如果定义的属性和优先级低的定义的属性相冲突,那么会覆盖优先级低的

二、优先级低的定义的属性,优先级高的没有再次定义,那么会继承优先级低的



同级元素以顺序排序作为判断依据:下面的覆盖上面的
例:
<style>
.box1{width:100px;height:100px;}
.box1{background:#0f0}		/*绿色*/
.box1{background:#f00}		/*红色*/
</style>

<div class="box1"></div>

总结:

一:优先级相同级别的情况下,系统按照最后一次定义的属性为标准。下面覆盖上面的

原因:浏览器解释html 语言的方式是从上往下,从左往右的解释,通过解释完所有样式得出最终结果才会显示出来。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值