继承
2023年02月15日
一、认识
在 Css
中,每个 CSS
属性定义的概述都指出了这个属性是默认继承的 (Inherited: Yes
) 还是默认不继承的 (Inherited: no
)。这决定了当你没有为元素的属性指定值时该如何计算值。
二、分类
2.1 继承属性
当元素的一个**继承属性(inherited property
)**没有指定值时,则取父元素的同属性的计算值 computed value
。只有文档根元素取该属性的概述中给定的初始值(initial value
)
继承属性汇总:
-
字体系列属性
- font-family:字体系列
- font-weight:字体的粗细
- font-size:字体的大小
- font-style:字体的风格
-
文本系列属性
- text-indent:文本缩进
- text-align:文本水平对齐
- line-height:行高
- word-spacing:单词之间的间距
- letter-spacing:中文或者字母之间的间距
- text-transform:控制文本大小写(就是uppercase、lowercase、capitalize这三个)
- color:文本颜色
-
元素可见性
- visibility:控制元素显示隐藏
-
列表布局属性
- list-style:列表风格,包括list-style-type、list-style-image等
-
光标属性
- cursor:光标显示为何种形态
2.2 非继承属性
当元素的一个非继承属性没有指定值时,则取属性的初始值 initial value
。
非继承属性汇总
-
display:规定元素应该生成的框的类型
-
文本属性
- vertical-align:垂直文本对齐
- text-decoration:规定添加到文本的装饰
- text-shadow:文本阴影效果
- white-space:空白符的处理
- unicode-bidi:设置文本的方向
-
盒子模型的属性
- width
- height
- margin
- border
- padding
-
背景属性
- background
- background-color
- background-image
- background-repeat
- background-position
- background-attachment
-
定位属性
- float
- clear
- position
- top
- right
- bottom
- left
- min-width
- min-height
- max-width
- max-height
- overflow
- clip
- z-index
-
生成内容属性
- content
- counter-reset
- counter-increment
-
轮廓样式属性
- outline-style
- outline-width
- outline-color
- outline
-
页面样式属性
- size
- page-break-before
- page-break-after
-
声音样式属性
- pause-before
- pause-after
- pause
- cue-before
- cue-after
- cue
- play-during
三、控制
CSS
为控制继承提供了五个特殊的通用属性值。每个 CSS
属性都接收这些值。
3.1 unset
属性: unset
将属性重置为自然值,也就是如果属性是自然继承那么就是 inherit
,否则和 initial
一样
3.2 revert
**属性: revert
**将应用于选定元素的属性值重置为浏览器的默认样式,而不是应用于该属性的默认值。在许多情况下,此值的作用类似于 unset
。
3.3 inherit
属性: inherit
设置该属性会使子元素属性和父元素相同。实际上,就是开启继承。
3.4 initial
属性: initial
将应用于选定元素的属性值设置为该属性的初始值。
3.5 revert-layer
**属性: revert-layer
**将应用于选定元素的属性值重置为在上一个层叠层中建立的值。
3.6 重设所有属性值 all
all: unset | revert | inherit | initial | revert-layer
可以用于同时将这些继承值中的一个应用于(几乎)所有属性