The subject says it all. Looking for a (polyfill) code that will reset all the inherited CSS properties on a given element (such as <img>
, <a>
or <p>
).
问问题
1646 次
4 回答
3
如果您想将所有内容完全重置为浏览器的默认样式,那么现代 CSS 方法是将revert
关键字与all
属性一起使用:
all: revert;
来自MDN,
CSS 关键字回滚级联,以便该
revert
属性采用在当前样式来源(作者、用户或用户代理)中没有样式时应具有的值。在作者样式表(正常情况)中,出于给定声明的目的,就好像没有作者级别的样式,因此将属性重置为用户代理样式表(或用户样式,如果任何存在)。
警告:它在CSS Cascading and Inheritance Level 4工作草案中定义,因此浏览器支持目前仅限于 Safari。
于 2016-08-16T21:45:36.943 回答
2
您可以做的是创建这些元素之一,但不将其附加到 DOM。然后它不会从您的样式表中接收任何样式。然后,使用window.getComputedStyle
,您将获得默认样式的列表。
var a = document.createElement('a');
var s = window.getComputedStyle(a);
myTargetEl.style.color = s.color; // or, use a loop to do all of them
于 2011-11-14T09:10:42.853 回答
1
可能您可以使用HTML5
boilerplate
或css Reset
重置所有继承的 CSS 属性。
检查这些文章 http://html5boilerplate.com/,
http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/
于 2011-11-14T09:10:36.707 回答
1
这听起来像是all
属性,遗憾的是除了 Firefox 之外的任何浏览器都没有实现它。
例子:
h2 {
all: initial; // Will reset any style set for h2 elements
}
于 2014-06-17T18:01:39.040 回答