03-css的继承性和层叠性

Posted 897463196-a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03-css的继承性和层叠性相关的知识,希望对你有一定的参考价值。

一、继承性                                     

css中所谓的继承,就是子集继承父级的属性。

可以继承的属性:color、font-xxx、text-xxx、line-xxx。(主要是文本级的标签元素)

但是,像一些盒子元素属性,定位的元素(浮动、绝对定位、固定定位)不能继承。

二、层叠性                                     

层叠性:权重大的标签覆盖了权重小的标签。

权重:谁的权重大,浏览器就显示谁的属性

那到底权重怎么判断呢?

  首先,看标签有没有被选中,如果都被选中了,比较权重(通过id class 标签的数量),谁的权重大就显示谁的属性;权重一样大,后来者居上。

  其次,没有选中的标签权重为0,没法跟选中的标签相比。

  如果标签都没有被选中,谁离得近就显示谁的属性,如果一样近,再比权重。

都被选中比权重                                                 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>流浪者</title>
 6     <style>
 7         #box1 #box2 p
 8             color: red;
 9         
10         #box1 .wrap2 p
11             color: yellow;
12         
13         div div #box3 p
14             color: green;
15         
16         div.wrap1 div.wrap2 div.wrap3 p
17             color: blue;
18         
19     </style>
20 
21 </head>
22 <body>
23 
24 <div id=box1 class="wrap1">
25     <div id="box2" class="wrap2">
26         <div id="box3" class="wrap3">
27             <p>猜猜我是什么颜色</p>
28         </div>
29     </div>
30 </div>
31     
32 </body>
33 </html>

技术图片

数数的时候,数的是id class 标签 的数量,遵循id>class>标签

都被选中,权重相同                                             

后来者居上。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>流浪者</title>
 6     <style>
 7         #box1 .wrap3 p
 8             color: red;
 9         
10         #box1 .wrap2 p
11             color: yellow;
12         
13 
14     </style>
15 
16 </head>
17 <body>
18 
19 <div id=box1 class="wrap1">
20     <div id="box2" class="wrap2">
21         <div id="box3" class="wrap3">
22             <p>猜猜我是什么颜色</p>
23         </div>
24     </div>
25 </div>
26     
27 </body>
28 </html>

技术图片

选中的标签永远比没选中的标签权重大              

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>流浪者</title>
 6     <style>
 7         #box1 #box2 .wrap3
 8             color: red;
 9         
10         #box1 .wrap2 p
11             color: yellow;
12         
13 
14     </style>
15 
16 </head>
17 <body>
18 
19 <div id=box1 class="wrap1">
20     <div id="box2" class="wrap2">
21         <div id="box3" class="wrap3">
22             <p>猜猜我是什么颜色</p>
23         </div>
24     </div>
25 </div>
26     
27 </body>
28 </html>

技术图片

都是继承来的属性                                              

采用就近原则,谁离预选中标签近,就显示谁的属性。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>流浪者</title>
 6     <style>
 7         #box1 #box2 .wrap3
 8             color: red;
 9         
10         #box1 .wrap2
11             color: yellow;
12         
13 
14     </style>
15 
16 </head>
17 <body>
18 
19 <div id=box1 class="wrap1">
20     <div id="box2" class="wrap2">
21         <div id="box3" class="wrap3">
22             <p>猜猜我是什么颜色</p>
23         </div>
24     </div>
25 </div>
26     
27 </body>
28 </html>

技术图片

 

都是继承来的属性,一样近,再比权重                

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>流浪者</title>
 6     <style>
 7         #box1 #box2 .wrap3
 8             color: red;
 9         
10         #box1 .wrap2 .wrap3
11             color: yellow;
12         
13 
14     </style>
15 
16 </head>
17 <body>
18 
19 <div id=box1 class="wrap1">
20     <div id="box2" class="wrap2">
21         <div id="box3" class="wrap3">
22             <p>猜猜我是什么颜色</p>
23         </div>
24     </div>
25 </div>
26     
27 </body>
28 </html>

技术图片

!important设置权重为无限大                          

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>流浪者</title>
 6     <style>
 7         #box1 #box2 .wrap3
 8             color: red;
 9         
10         #box1 .wrap2 .wrap3
11             color: yellow !important;
12         
13 
14     </style>
15 
16 </head>
17 <body>
18 
19 <div id=box1 class="wrap1">
20     <div id="box2" class="wrap2">
21         <div id="box3" class="wrap3">
22             <p>猜猜我是什么颜色</p>
23         </div>
24     </div>
25 </div>
26     
27 </body>
28 </html>

技术图片

 

 

作者:流浪者

日期:2019-08-31

 

以上是关于03-css的继承性和层叠性的主要内容,如果未能解决你的问题,请参考以下文章

详解CSS三大特性之层叠性继承性和重要性——Web前端系列学习笔记

详解CSS三大特性之层叠性继承性和重要性——Web前端系列学习笔记

while循环语句

css的继承和层叠

层叠和继承的概念,选择器的优先级,盒模型,元素在页面上的定位体系,常规流

012 三大特性