由于shadow DOM仍处于开发阶段且并非所有浏览器都支持,我正在尝试创建一种“重置/屏障”样式类定义来重置所有样式。 MDN文档包含所有属性名称的列表:https://developer.mozilla.org/docs/Web/CSS/Reference及其初始(默认)值。但HTML元素(此处为列表:https://developer.mozilla.org/docs/Web/HTML/Element)有时会有自己修改的样式值,例如带有上边距和下边距以及更大文字大小的<h3>
或带有斜体文字的<i>
式:
不幸的是,在这些元素上将CSS属性设置为initial
会将其值设置为常规默认值(上面列表中的值),而不是元素的“自己”默认值值。例如:将display: initial
设置为DIV会将值设置为inline
,因为这是display
属性的general default value,而不是block
。此外,IE doesn't even know一般CSS值initial
(和inherit
不是我想要的; unset
只是inherit
+ {的组合{1}})。
所以我的问题是:有没有办法(对于所有浏览器和纯CSS)将CSS属性值重置为其元素的默认值?如果没有:有人知道或拥有每个HTML element的已更改属性的完整列表,那么我至少可以手动设置样式吗?也许是这样的:
initial
我已经创建了一个长列表来手动重置所有值,即使对于IE(该死的浏览器让它变得如此困难......它不知道.div {
display: block;
}
.i {
font-style: italic;
}
.h3 {
display: block;
margin-top: 1em;
margin-bottom: 1em;
font-size: 1.2em;
font-weight: bold;
}
/* ... */
并且它不知道initial
属性)。在我开始发现自己之前,这样的清单会有所帮助。