我正在构建一个可以嵌入到任何网页中的前端小部件。
我不希望宿主页面的样式影响小部件。因此,我想将#widget
及其后代的所有样式都重置为浏览器默认值。
all: revert
就是这样做的-但是它还没有广泛的浏览器支持。我实质上是在寻找all: revert
的polyfill。
(“使用其浏览器默认值”这一短语很重要。我知道我可以使用all: initial
将样式重置为其 initial 值。但是初始值不是一回事作为浏览器的默认值。)
我熟悉Eric Meyer's CSS reset和类似的重置/样板。这些不是我想要的。他们不会重置所有样式,仅重置那些在主要浏览器的默认样式表之间不一致的样式。
例如,假设宿主页包含样式body { font-style: italic }
(不太可能,但可能)。样板式CSS重置无法解决此问题:我的小部件中的文本也将变为斜体。
(在将此问题标记为重复之前,请仔细考虑。关于Stack Overflow的问题也类似-但是许多问题是多年前发布的,当时情况大不相同,或者他们提出的问题略有不同。)
谢谢!