CSS样式具有继承性,例如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
color:pink;
}
</style>
</head>
<body>
<div>
<p>我是什么颜色的?</p>
</div>
</body>
</html>
这里只设定了div的样式,但是p却可以继承得到,既字体为粉红色
但是<a>是无法完成全部继承的,因为浏览器内部给<a>自动设置了样式
行高的继承
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body{
font:12px/1.5 '微软雅黑'
}
div{
color:pink;
font-size: 20px;
}
</style>
</head>
<body>
<div>
<p>我是什么颜色的?</p>
</div>
<p >我是什么颜色的?</p>
</body>
</html>
这里设定body字体为12px大小,行高1.5倍,既18px
设定div字体是20px大小,它也会继承这个1.5倍行高,既30px
优先级,当两个样式冲突时,启用优先级大的选择器
注意,不管父辈的选择器优先级多高,继承下来的一律权重为0
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body{
color: azure !important;
}
p{
color: pink;
}
</style>
</head>
<body>
<p >我是什么颜色的?</p>
</body>
</html>
字体任然是pink
优先级权重叠加
例如:
<style>
li{
color: green;
}
ul li{
color: pink;
}
.nav li{
color: blue;
}
</style>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</body>
由于li的权重是0001,ul的权重也是0001,所以ul li的权重是0002,大于li的权重,呈现粉色
如果改为:
<body>
<ul class="nav">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</body>
.nav的权重为0010,与li叠加为0011,大于0002,所以呈现蓝色
注意:权重可以累加,但是不能进位!