HTML元素列表自己更改的样式

时间:2017-01-04 16:55:33

标签: html css css3

由于shadow DOM仍处于开发阶段且并非所有浏览器都支持,我正在尝试创建一种“重置/屏障”样式类定义来重置所有样式。 MDN文档包含所有属性名称的列表:https://developer.mozilla.org/docs/Web/CSS/Reference及其初始(默认)值。但HTML元素(此处为列表:https://developer.mozilla.org/docs/Web/HTML/Element)有时会有自己修改的样式值,例如带有上边距和下边距以及更大文字大小的<h3>或带有斜体文字的<i>式:

<h3> element

<i> element

不幸的是,在这些元素上将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属性)。在我开始发现自己之前,这样的清单会有所帮助。

0 个答案:

没有答案