CSS优先级规则的细节
建站知识 2021-07-03 08:42www.168986.cn长沙网站建设
详解CSS优先级的读法,CSS优先级包含四个级别(文内选择符,ID选择符,Class选择符,元素选择符)以及各级别出现的次数。根据这四个级别出现的次数计算得到CSS的优先级。
最近看到篇对CSS优先级有比较好的解释的blog,虽然Webjx有相关的文章,但依然网络推广网站推广转载过来供大家学习参考。
详解CSS优先级的读法,CSS优先级包含四个级别(文内选择符,ID选择符,Class选择符,元素选择符)以及各级别出现的次数。根据这四个级别出现的次数计算得到CSS的优先级。
对优先级的读法,应该是以“组”来分,这个组之间相互独立,从左到右进行对比。它们成组出现,以逗号分隔。
selector( a , b , c , d )
pare: ↑ , ↑ , ↑ , ↑
selector( a , b , c , d )正如w3c.中原文所示,分为a,b,c,d四组,全为正整娄,默认为0,对应于不同的选择器结构和组成形式。在选择器之间的优先级进行对比时,从左到右1对1对比,当比出有大者时即可停止比较。
li.red.level {} / a=0 b=0 c=2 d=1 -> specificity = 0 , 0 , 2 , 1 /
/pare ↑ , ↑ , √ /
h1 [rel=up]{} / a=0 b=0 c=1 d=1 -> specificity = 0 , 0 , 1 , 1 /
/pare ↑ , ↑ , ↑ , √ /
ul ol li.red {} / a=0 b=0 c=1 d=3 -> specificity = 0 , 0 , 1 , 3 /
/pare ↑ , ↑ , √ /
#x34y {} / a=0 b=1 c=0 d=0 -> specificity = 0 , 1 , 0 , 0 /
/pare ↑ , √ /
style="" / a=1 b=0 c=0 d=0 -> specificity = 1 , 0 , 0 , 0 /(上表中,↑表示还要进行比较,√表示从此处已得到了结果)
再有,只要正确书写,仅从优先级中大概知道选择器结构形式了,如
1,0,0,0表示是元素内的style;
0,2,1,1表示是一个由两个ID选择器,1个类或伪类或属性选择器,以及一个元素选择器组成的选择器。
CSS优先级规则的细节
在纠正读法后,才能开始讲详细的规则
a组数值只有把CSS写进style属性时才会为1,否则为0.写进style的样式声明其实不算是个选择器,所以这里面的b,c,d组值均为0,只有真正的选择器才会有b,c,d组值。
b组数值决定于ID选择器#ID,有多少个ID选择器,并会进行此组数值累加;
c组数值决定于类、伪类和属性选择符,并会进行该组数值累加;
d组数值决定于元素名,即元素选择器,并会进行该组数值累加;
注意,这四组数值分别对应于不同类型的选择器,互不影响,根据读法法则进行比较。
这里没有讨论到!important,就近原则和继承,也没有实例代码,欢迎大家来jb51.共同讨论!
狼蚁网站SEO优化是列子CSS优先级问题
CSS优先级包含四个级别(文内选择符,ID选择符,Class选择符,元素选择符)以及各级别出现的次数。根据这四个级别出现的次数计算得到CSS的优先级。
CSS优先级的计算规则如下
页面中定义的样式,加1,0,0,0
每个ID选择符(如 #id),加0,1,0,0
每个Class选择符(如 .class)、每个属性选择符(如 [attribute=])、每个伪类(如 :hover)加0,0,1,0
每个元素选择符(如p)或伪元素选择符(如 :firstchild)等,加0,0,0,1
然后,将这四个数字分别累加,就得到每个CSS定义的优先级的值,
然后从左到右逐位比较大小,数字大的CSS样式的优先级就高。
例子
css文件或<style>中如下定义
1. h1 {color: red;}
/ 一个元素选择符,结果是0,0,0,1 /
2. body h1 {color: green;}
/ 两个元素选择符,结果是 0,0,0,2 /
3. h2.grape {color: purple;}
/ 一个元素选择符、一个Class选择符,结果是 0,0,1,1/
4. li#answer {color: navy;}
/ 一个元素选择符,一个ID选择符,结果是0,1,0,1 /
元素的style属性中如下定义
h1 {color: blue;}
/ 页面中定义,一个元素选择符,结果是1,0,0,1/
注解这里把所有的数字都进行对位叠加,(0,0,0,1) (0,0,0,2) (0,0,1,1) (0,1,0,1) (1,0,0,1)=(1,1,1,6)
如此以来,h1元素的颜色是蓝色。
注意
1、!important声明的样式优先级最高,如果冲突再进行计算。
2、如果优先级相同,则选择出现的样式。
3、继承得到的样式的优先级最低。
长沙网站设计
- 如何自己建一个网站 自己想建个网站,怎么建
- 如何制作网站免费建站 创建网站免费注册
- html简单网页代码 html简单网页代码超链接
- dreamweaver网页制作 dreamweaver网页制作模板
- 上海网站建设 上海网站建设制作微信
- 如何制作网站和网页 如何制作一个网页
- html网页制作代码大全 端午节html网页制作代码大
- app开发公司 app开发公司前十名
- html网页制作 html网页制作文字居中
- app制作一个需要多少钱 请人制作一个app多少钱
- 成都网站制作 成都网站制作维护
- 百度建一个网站多少钱 百度做个公司网站要多少
- html+css网页制作成品 web网页制作成品css+javascrip
- html网页制作案例 html网页设计案例
- html+css网页制作成品 web网页制作成品css+javascrip
- 个人网站模板 个人网站模板HTML