![7275569-adf75fc15952031c.jpg](https://i-blog.csdnimg.cn/blog_migrate/03389815e38f21d0d278453a037020cd.webp?x-image-process=image/format,png)
0019.jpg
继承是指,应用在某个标签上的CSS属性传给了内部嵌套的标签。
例如,<p>标签嵌套在<body>标签里,所以应用在<body>标签上的部分样式(能继承的那部分)会被<p>标签继承。
比如
HTML代码
<body>
<p>......</p>
</body>
CSS代码
body {
font-size: 1.2em;
color: orange;
}
![7275569-b5a9abe893260c56.png](https://i-blog.csdnimg.cn/blog_migrate/b1de1f65ecf99f4fd9686ce716f44c0e.webp?x-image-process=image/format,png)
image.png
在<body>中定义了字号和颜色,那么<body>标签的后代都会继承这个字号和颜色。
CSS属性也能隔代继承。如果<p>标签里面有<em>、<strong>或者<span>等标签,那么<em>、<strong>和<span>标签也会继承应用到<body>标签上的部分样式(能继承的那部分)。
继承的局限
上面所说的,继承部分样式,是因为很多CSS样式根本不会传给后代标签。例如border属性就不会被继承。
当然,这是很有道理的。如果继承,设置了border属性的元素里每个标签都会有边框。那在开发中就相当苦恼了。
以下是在学习和开发中总结出来“不一定会被继承”的几条规律:
- 通常会影响元素在页面中所在位置的属性,以及设置元素外边距、背景色和边框的属性不会被继承。
- 样式冲突时,更具体的样式胜出。
所谓“更具体的样式胜出”,讲的是CSS的层叠,也就关系到CSS特指度的问题。
希望以上笔记对大家有帮助。
我的其他笔记在微信公众号:Rabbit_svip
欢迎前来点评~
![7275569-0fd59b6ae74e863b.png](https://i-blog.csdnimg.cn/blog_migrate/7da70f69a4306e72ef9405a3e48b0d02.webp?x-image-process=image/format,png)
微信订阅号:rabbit