CSS——层叠

本文详细解析了CSS中的层叠与优先级概念,包括声明冲突、重要性层级、特殊性计算及源次序原则,帮助开发者理解如何有效地覆盖浏览器默认样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

层叠

声明冲突:同一个样式,多次应用到同一个元素

层叠:解决声明冲突的过程,浏览器自动处理(权重计算)

比较重要性

重要性从高到低:

作者样式表:开发者书写的样式

1)作者样式表中的!important样式(开发中一般不适用)

<style>
a{
    color:red !important;
}
a{
    color:green;
}
</style>/*第一个样式表被浏览器使用*/

2)作者样式表中的普通样式

<style>
a{
    color:red;
}
</style>/*此样式覆盖浏览器默认样式*/

3)浏览器的默认样式

比较特殊性

看选择器

总体规则:选择器选中的范围越窄,越特殊

具体规则:通过选择器,计算出一个4位数(xxxx),数值较大者胜出

  1. 千位:如果是内联样式,记1,否则记0
  2. 百位:等于选择器中所有id选择器的数量
  3. 十位:等于选择器中所有类选择器、属性选择器、伪类选择器的数量
  4. 个位:等于选择器中所有元素选择器、伪元素选择器的数量
<style>
a{
/*0001*/
    color:red;
}
div ul a{
/*0003*/
    color:green;
}
#mydiv #myul a{
/*0201*/
    color:gray;
}
#mydiv #myul .mylink{
/*0210*/
    color:#008c8c;(马尔斯绿)
}
#mydiv #myul a:link{
/*0211*/
    color:chocolate;
}
</style>
<div id="mydiv">
<ul id="myul">
<li id="myli">
<a href=" " class="mylink">
我的CSS
</a>
</li>
</ul>
</div>

比较源次序

代码书写靠后者胜出

<style>
a{
    color:red;
}
a{
    color:#008c8c;
}
</style>/*马尔斯绿被浏览器选中*/

应用

书写一些作者样式表,覆盖浏览器的默认样式

重置样式表->浏览器的默认样式

常见的重置样式:normalize.css、reset.css 、meyer.css(可搜索获得)

在开发中一般先使用重置样式表先覆盖浏览器页面,然后再写相应的文件代码来开发。

爱恨法则书写方式:

<style>
:link{
    
}
:visited{
    
}
:hover{
    
}
:active{
    
}
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无所畏惧的man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值