跳到主要内容

继承

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 可以用于同时将这些继承值中的一个应用于(几乎)所有属性

参考资料


高频前端面试题汇总之CSS篇