CSS的继承性和层叠性

一、继承性

 (1)所谓CSS继承性是指被包在内部的标签将拥有外部标签的样式性质,同时CSS继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代,是依赖于祖先-后代的关系的。用简单的话来说就是自己设置的属性,其后代也继承上了。


 

(2)那么有哪些属性是可以继承的:

    color、以text-、line-、font- 开头的属性,也就是关于文字的属性是可以继承的,而关于布局、定位、盒子的属性都是不能继承。

body{
  color:red;
  font-size:14px;
}

 

3)继承的范围:

    从自身开始,到最小的元素。也就是从第body开始都最内层的p标签。

<body>
    <div>
        <p>你好</p>
    </div>
</body>

 

二、层叠性

 

 

(1)什么是层叠性

  就是浏览器处理冲突的一个特性。当有多个选择器选择到同一个元素时,但就只有一个选择器生效,也就是在相同权重的情况下,其他选择器的样式会被覆盖掉。

 


(2)优先级:

  a. id选择器 > 类选择器 > 标签选择器

  b. 当同时多个选择器选择到同一个元素时,可通过权重比较:也就是分别计算id选择器、 类选择器 、标签选择器各自的数量。这一方法没任何的浏览器兼容问题。

              

  c. 当权重都一样时,以后出现的选择器为准。

              

  d. 没有具体选中到一个元素。通过继承性影响,该元素的权重就是为0,那么此时就有一个就近原则:  

              


 

 (3)权重问题总结:

1) 先看有没有选中,如果选中了,那么以(id数,类数,标签数)来计权重。谁大听谁的。如果都一样,听后写的为准。

2) 如果没有选中,那么权重是0。如果大家都是0,就近原则。

posted @ 2017-08-19 00:48  _江江江江  阅读(972)  评论(0编辑  收藏  举报