什么是CSS 属性的初始值?CSS有哪些常见继承属性?

80 阅读2分钟

CSS 属性的初始值

  • 每个 CSS 属性都有一个“初始值”(initial value),这是浏览器在没有其他规则覆盖时为该属性指定的默认值。这个初始值在 CSS 规范中定义。
  • 继承属性:初始值只有在根元素上才会被使用(当没有指定值时)。
  • 非继承属性:初始值会被用于任意没有指定值的元素。

继承属性

  • 继承属性是指子元素会自动继承其父元素的某些属性。例如,colorfont-size 是继承属性。如果父元素设置了 color: red;,那么除非子元素另有指定,子元素也会使用这个红色。
  • 在继承属性的情况下,初始值通常不会被直接使用,除非它是根元素(例如 HTML 文档中的 <html> 元素)。根元素是 CSS 继承链的起点,如果没有为继承属性指定值,根元素会使用属性的初始值。

非继承属性

  • 非继承属性是指子元素不会从父元素继承这些属性。例如,displaymargin 是非继承属性。如果父元素设置了 display: flex;,子元素不会继承这个 display 设置。
  • 对于非继承属性,如果某个元素上没有为该属性指定值,浏览器会使用该属性的初始值。在这种情况下,任何没有指定该属性的元素都会应用该属性的初始值。

CSS常见继承属性

在 CSS 中,继承属性是指子元素会自动继承父元素的某些属性值。以下是一些常见的继承属性:

文本相关的属性

  • color: 文本颜色。
  • font-family: 字体家族。
  • font-size: 字体大小。
  • font-style: 字体样式(如 italic)。
  • font-variant: 字体变体(如小型大写字母 small-caps)。
  • font-weight: 字体粗细。
  • letter-spacing: 字符间距。
  • line-height: 行高。
  • text-align: 文本对齐方式。
  • text-indent: 首行缩进。
  • text-transform: 文本转换(如大写、小写等)。
  • white-space: 控制空白符的处理方式。
  • word-spacing: 单词间距。

表单相关的属性

  • direction: 文字方向(如 ltrrtl)。
  • visibility: 元素的可见性。
  • cursor: 鼠标光标样式。

列表相关的属性

  • list-style-type: 列表标记类型(如 disc, circle, square 等)。
  • list-style-position: 列表标记位置(如 inside, outside)。

表格相关的属性

  • border-collapse: 表格边框折叠方式。
  • border-spacing: 表格单元格之间的间距。
  • caption-side: 表格标题的位置(如 top, bottom)。

其他

  • quotes: 指定用于引号的符号。

注意

某些属性并不总是继承的,但可以通过指定 inherit 来强制继承。例如,backgroundborder 默认情况下是非继承属性,但可以通过 background: inherit;border: inherit; 来强制继承。