哪些 CSS 属性可以继承?

简介: 哪些 CSS 属性可以继承?

所谓继承是指 HTML 元素可以从父元素那里继承一部分 CSS 属性,即使当前元素没有定义该属性。以下是可以被继承的属性:


字体系列属性

字体系列属性主要包括 font-size、font-family、font-variant、font-style、font-weight、font、letter-spacing、word-spacing、text-transform 和 line-height。如果没有在一个元素上设置这些属性,则其继承上层的相应属性。


文本系列属性

文本系列属性主要包括 color、direction、text-align、text-indent、text-decoration、text-shadow、white-space、word-wrap 和 hyphens。只有 color 属性可以被继承自父元素,其他都不能继承。


其他系列属性

其他系列属性主要包括 visibility、cursor、list-style 和 quotes。list-style 属性可以继承,但 quotes 属性不能被继承。


inherit(继承)值

每一个属性可以指定值为“inherit”,即:对于给定的元素,该属性和它父元素相对属性的计算值取一样的值。继承值通常只用作后备值,它可以通过显式地指定“inherit”而得到加强,例如:

p { font-size: inherit; }

继承的局限性

继承虽然减少了重复定义的麻烦,但是有些属性是不能继承的,例如 border(边框)、margin(边距)、padding(补白)和背景等。


这样的设定是有道理的,例如设定了边框,如果此属性也继承的话,那么在这个内所有的元素都会有边框,这无疑会产生一个让人眼花缭乱的结果。


同样的,影响元素位置的属性,例如 margin(边距)和 padding(补白),也不会被继承。同时,浏览器的缺省样式也在影响着继承的结果。例如:

body { font-size: 12px; } 

会使 <h2> 中文字的大小采用标题 2 样式而非 12px 大小的文字。这是因为浏览器的缺省样式设定了 <h2> 的 CSS 规则。


有些老版本的浏览器可能对继承支持不太好,例如某些浏览器当遇到 <table> 的时候,就会丢失所有的继承的属性。


CSS 属性一旦继承了就不能被取消,只能重新定义样式。


相关文章
|
1月前
|
前端开发
css的渐变属性linear-gradient
css的渐变属性linear-gradient
|
20天前
|
前端开发
CSS属性:盒子模型
CSS属性:盒子模型
26 0
|
20天前
|
前端开发
CSS属性
CSS属性
27 0
|
21天前
|
前端开发
前端基础(五)_CSS文本文字属性、背景颜色属性
本文详细介绍了CSS中关于文本和背景颜色的样式属性。包括字体大小、字体族、字体加粗、字体样式、文本行高、`font`属性、文本颜色、文本对齐方式、文本装饰线、首行缩进等文本属性,以及背景颜色、背景图片、背景重复、背景位置等背景属性。文章通过示例代码展示了这些属性的具体应用和效果。
17 3
前端基础(五)_CSS文本文字属性、背景颜色属性
|
3天前
|
前端开发
CSS 中哪些属性可以继承
在 CSS 中,属性分为可继承与不可继承。可继承属性会在子元素中沿用父元素的样式设定。常见可继承属性包括:文本属性(如 `font-family`, `color`),列表属性(如 `list-style`),表格布局属性(如 `border-collapse`),以及其他如 `visibility` 和 `direction` 等属性。正确理解这些属性有助于更高效地进行样式设计。
|
1月前
|
前端开发
CSS层叠性与继承性
CSS层叠性与继承性。
29 2
|
23天前
|
前端开发
Vue3基础(十ba)___在css中使用props或者计算属性的变量,来实现动态样式
本文介绍了如何在Vue3中通过CSS变量和props或计算属性来实现动态样式。
17 0
|
2月前
|
前端开发 算法 开发者
CSS 的了解text-rendering属性
【8月更文挑战第24天】
|
2月前
|
前端开发 搜索推荐 UED
浅谈css的cusor属性
浅谈css的cusor属性
37 1
|
前端开发 流计算