CSS默认样式的DOM元素

时间:2013-02-04 22:11:46

标签: javascript html css dom

  

可能重复:
  Browsers' default CSS for HTML elements

是否存在DOM元素的所有默认样式的引用?

例如,<h1>以上的保证金有多大?

有没有简单的方法来提取这个?我试过了:

document.getElementById("myheading").style.marginTop

但它空白了。大概是因为没有为marginTop定义任何内容?

提前致谢。

2 个答案:

答案 0 :(得分:2)

您有几个选择。规范有一个松散定义的列表。 HTML4HTML5

如果您希望实际看到计算出的样式,可以使用Firebug,Chrome开发者工具,IE开发者工具或Opera Dragonfly等程序。

如果需要以编程方式获取计算样式,我建议您使用jquery来平衡差异,或使用元素的getComputedStyle()或currentStyle属性。 jQuery会自动为您完成此任务。

如果您只是想知道如何处理这种跨浏览器而不会疯狂,我推荐使用重置样式表。有许多。 Eric Meyer是最着名的,但现在有许多工具,如Bootstrap,Blueprint,Normalize和YUI。

答案 1 :(得分:1)

每个浏览器都在其用户代理样式表中拥有自己的实现。 This excellent answer包含指向WebKit,Firefox / Gecko和IE的资源的链接。您可以使用window.getComputedStyle(node);在(呈现的)DOM节点上发现值。请注意,此方法存在一些例外情况(出于安全原因,访问过的链接将返回,就像没有访问过一样)。

对于<h1>,这是每个

的相关CSS

Webkit

display: block;
font-size: 2em;
-webkit-margin-before: 0.67__qem;
-webkit-margin-after: 0.67em;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
font-weight: bold

Firefox/Gecko

display: block;
font-size: 2em;
font-weight: bold;
margin: .67em 0;

IE6/7

display: block;
font-size: 24pt;
font-weight: bold;
margin: 14pt 0;

<强> IE8 / 9

display: block;
font-size: 2em;
font-weight: bold;
margin: 0.67em 0;
page-break-after: avoid;