张百万
张百万
5月前 · 6 人阅读

继承是指,应用在某个标签上的CSS属性传给了内部嵌套的标签。

例如,<p>标签嵌套在<body>标签里,所以应用在<body>标签上的部分样式(能继承的那部分)会被<p>标签继承。

比如

HTML代码

<body>
    <p>......</p>
</body>

CSS代码

body {
    font-size: 1.2em;
    color: orange;
}

在<body>中定义了字号和颜色,那么<body>标签的后代都会继承这个字号和颜色。


CSS属性也能隔代继承。如果<p>标签里面有<em>、<strong>或者<span>等标签,那么<em>、<strong>和<span>标签也会继承应用到<body>标签上的部分样式(能继承的那部分)。


继承的局限

上面所说的,继承部分样式,是因为很多CSS样式根本不会传给后代标签。例如border属性就不会被继承。

当然,这是很有道理的。如果继承,设置了border属性的元素里每个标签都会有边框。那在开发中就相当苦恼了。

以下是在学习和开发中总结出来“不一定会被继承”的几条规律:

  • 通常会影响元素在页面中所在位置的属性,以及设置元素外边距、背景色和边框的属性不会被继承。
  • 样式冲突时,更具体的样式胜出。


所谓“更具体的样式胜出”,讲的是CSS的层叠,也就关系到CSS特指度的问题。

收藏 0
关键词: 标签 body 继承 css 样式 属性
评论