all
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
CSS 简写属性 all
将除了 unicode-bidi
、direction
与 CSS 自定义属性之外的所有属性重设。它可以将属性设置为初始值或继承值,也可以设置为其他层叠层或样式表来源中指定的值。
尝试一下
/*未设置 all 属性*/
all: initial;
all: inherit;
all: unset;
all: revert;
<section id="default-example">
<div class="example-container-bg">
<div class="example-container">
<p id="example-element">
该段的字体大小为 1.5rem,颜色为金色。用户代理还为其设置了 1rem
的垂直边距。段落的父级是一个蓝色虚线边框的 <div>。
</p>
</div>
</div>
</section>
#example-element {
color: gold;
padding: 10px;
font-size: 1.5rem;
text-align: left;
width: 100%;
}
.example-container {
border: 2px dashed #2d5ae1;
}
.example-container-bg {
background-color: #77767b;
padding: 20px;
}
组成属性
该属性是除 unicode-bidi
、direction
和自定义属性以外的所有 CSS 属性的简写。
语法
/* 全局值 */
all: initial;
all: inherit;
all: unset;
all: revert;
all: revert-layer;
all
属性被作为 CSS 全局关键字的其中之一。不过需要注意的是,以上这些值不会影响 unicode-bidi
与 direction
这两个属性。
取值
形式定义
形式语法
示例
在本示例中,CSS 文件包含 <blockquote>
元素以及父级 <body>
元素的一些样式。“结果”小节中的各种输出结果展示了在对 <blockquote>
元素规则中的 all
属性应用不同值时,<blockquote>
元素的样式会受到怎样的影响。
HTML
<blockquote id="quote">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</blockquote>
Phasellus eget velit sagittis.
CSS
body {
font-size: small;
background-color: #f0f0f0;
color: blue;
margin: 0;
padding: 0;
}
blockquote {
background-color: skyblue;
color: red;
}
结果
A. 没有 all
属性
这就是在 blockquote
规则中没有设置 all
属性的情况。<blockquote>
使用浏览器默认样式,它具有边距,以及样式表中指定的特定背景和文本颜色。它是一个块级元素:它之后的文字位于它的下方。
B. all: initial
将 blockquote
规则中的 all
属性设置为 initial
后,<blockquote>
元素不再使用浏览器默认样式:它现在是行级元素(初始值),其 background-color
是 transparent
(初始值)、font-size
为 medium
,color
为 black
(初始值)。
C. all: inherit
在本例中,<blockquote>
元素并没有使用浏览器的默认样式。相反,它继承了父级 <body>
元素的样式:它现在是块级元素(继承值),它的 background-color
是 #F0F0F0
(继承值),它的 font-size
是 small
(继承值),它的 color
是 blue
(继承值)。
D. all: unset
当 unset
值应用于 blockquote
规则中的 all
属性时,<blockquote>
元素不会使用浏览器的默认样式。因为 background-color
是一个非继承属性,而 font-size
和 color
是继承属性。<blockquote>
元素现在是行级元素(初始值),它的 background-color
是 transparent
(初始值),但它的 font-size
仍然是 small
(继承值),它的 color
是 blue
(继承值)。
E. all: revert
当 blockquote
规则中的 all
属性设置为 revert
时,blockquote
规则将被视为不存在,其样式属性值将继承应用于父元素 <body>
的属性值。因此,<blockquote>
元素会被样式化为块级元素,并具有 background-color
#F0F0F0
、font-size
small
和 color
blue
——所有值均继承自 body
规则。
F. all: revert-layer
CSS 文件中没有定义层叠层,因此 <blockquote>
元素的样式继承自匹配的 body
规则。这里的 <blockquote>
元素被样式化为块级元素,并使用 background-color
#F0F0F0
、font-size
small
和 color
blue
——body
规则继承的所有值。此示例说明了将 all
设为 revert-layer
时与将 all
设为 revert
时的行为相同。
规范
Specification |
---|
CSS Cascading and Inheritance Level 4 # all-shorthand |
浏览器兼容性
参见
CSS 全局关键字值:initial
、inherit
、unset
、revert
和 revert-layer
。