我知道有很多所谓的"css重置",例如.
- https://ageek.dev/normalize-css,
- https://meyerweb.com/eric/tools/css/reset/,或者
- https://elad2412.github.io/the-new-css-reset/
但我不明白的是,为什么用更简单的方法似乎是不可能的.
据我所知,initial
关键字将属性重置为CSS规范中定义为该属性默认值的值.
因为现在我们有all
个类似属性的关键字,我希望我可以使用
* {
all: initial;
}
or
:root {
all: initial;
}
而不是所有这些reset.css
和normalize.css
.也就是说,我希望其中一个简短的snipet将帮助我从用户代理样式表中删除添加到网页的样式.
但它并不像我预期的那样有效.看来
:root, html, body {
all: initial
}
根本不会从用户代理样式表中删除"继承"的样式
* {
all: initial
}
过于激进地删除样式.例如,它使我的style
和script
元素可见!我不认为CSS规范说这两个元素应该是可见的.我相信CSS规范说它们应该是可见的.就好像
* {
all: initial
}
不是将我的样式重置为CSS规范级别,而是将它们重置为绝对零级别.这不是我想要的.
谁能解释一下我的理解有什么不对吗?