css三大特性(层叠性,继承性,优先级)

CSS三大特性

1、层叠性
  • 概念:
    指多种样式的叠加
    是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉
  • 原则:
    样式冲突,遵循的原则是就近原则。哪个样式离着结构近,就执行哪个样式
    样式不冲突,不会重叠
   <style>
        div {
            color: red;
            font-size: 30px;
        }
        div {
            color: pink;
        }
    </style>
</head>
<body>
    <div>
        Andy
    </div>
结果是:Andy(30px,粉色)
2、继承性
  • 概念
    子标签会继承父标签的某些样式
    想设置一个可继承的属性,只需将它应用于父元素即可
    子元素可以继承父元素的部分样式(比如text-,font-,line-这些元素开头的可以继承,以及color属性)
    <style>
        div {
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <p>Andy</p>
    </div>
</body>
3、优先级(重点)
    <style> 
        div {
            color: pink;

        }
        .one {
            color: blue;
        }
    
    </style>
</head>
<body>
    <div class="one">Andy</div>
</body>
  • 概念
    定义样式时,经常会出现两个或更多规则应用在同一元素上,此时,
    选择器相同,则会执行层叠性
    选择器不同,就会出现优先级问题

1)权重计算公式
关于CSS权重,需要公式来计算,就是CSS specificity(特殊性)

标签选择器计算权重公式
继承或者*0,0,0,0
每个元素(标签选择器)0,0,0,1
每个类,伪类0,0,1,0
每个ID0,1,0,0
每个行内样式style=""1,0,0,0
每个!important 重要的无穷大

2)权重叠加

  • div ul li ——>0,0,0,3
  • .nav ul li ——>0,0,1,2
  • a:hover ——>0,0,1,1
  • .nav a ——>0,0,1,1
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页