DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费额度!
CSS 中的 all
属性会重置选定元素的所有属性,除了控制文本方向的 direction
和 unicode-bidi
属性。
.module {
all: unset;
}
它的目的是允许对组件级样式进行重置。 有时从头开始进行样式设置比对抗已经存在的样式要容易得多。
值
initial
:将选定元素的所有属性重置为 CSS 规范中定义的初始值。inherit
:选定元素继承其父元素的所有样式,包括通常不可继承的样式。unset
:选定元素继承从父元素传递下来的任何可继承的值。 如果没有可继承的值,则 CSS 规范中的初始值将用于每个属性。
一些属性在规范中没有明确定义初始值,而是允许用户代理设置初始值——color
和 font-family
是两个示例。 如果应用了 all: initial;
或 all: unset;
,则用户代理默认值将用作这些属性的 initial
值。
all
被认为是“简写”属性,因为它允许我们通过单个声明来控制所有 CSS 属性的值。 但是,与大多数简写属性不同,它没有实用的“完整写法”版本,也没有子属性。
演示
请参阅 CSS 选项卡以查看指示哪些属性可继承的注释。 注意,当使用 inherit
值时,div
会继承其父元素的所有属性,包括其 width
、padding
和 border
,这些属性通常不可继承。
查看 Pen all 属性演示 由 CSS-Tricks (@css-tricks) 在 CodePen 上创建。
更多信息
- W3C CSS 级联和继承级别 4 编辑草案中的
all
- CSS2 全属性表:显示所有 CSS2 属性的可继承性。 CSS3 规范被分成多个部分,并在 规范表 中索引。
- 了解初始值:有关
initial
值的更多详细信息。 - 在 Firefox 27 中使用“all: unset”重置样式 (2013) 由 Cameron McCormack 撰写
浏览器支持
此浏览器支持数据来自 Caniuse,其中包含更多详细信息。 数字表示浏览器在该版本及其更高版本中支持该功能。
桌面
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
37 | 27 | 否 | 79 | 9.1 |
移动设备/平板电脑
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
127 | 127 | 4.4.3-4.4.4 | 9.3 |
这似乎也使 !important 无效,除了颜色、字体系列等情况… http://jsfiddle.net/mattLummus/ywjd2o80/1/
在 Edge 和 IE 中无法使用 https://caniuse.cn/#feat=css-all
微软承诺随着网络标准的发展而保持同步,这太令人失望了。
那个已经快 2 年了。
https://www.w3.org/TR/2016/CR-css-cascade-3-20160519/#all-shorthand
我想他们可能只有在标准完全被接受后才会尝试支持它吧?
当然,领先的浏览器足够智能,能够在功能显示出希望后将其集成…
你好。如何重置或更改“direction”样式?
当我将“all:initial;line-height:1”应用于子元素时,覆盖属性“line-height:1”被禁用,仍然显示父元素的属性“line-height:10”。发生了什么?
查看演示 https://codepen.io/qyingkou/pen/xxOVvbv
如果可以的话,请回复我,非常感谢。