是否存在DOM元素的所有默认样式的引用?
例如,<h1>
以上的保证金有多大?
有没有简单的方法来提取这个?我试过了:
document.getElementById("myheading").style.marginTop
但它空白了。大概是因为没有为marginTop
定义任何内容?
提前致谢。
答案 0 :(得分:2)
您有几个选择。规范有一个松散定义的列表。 HTML4和HTML5
如果您希望实际看到计算出的样式,可以使用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>
,这是每个
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
display: block;
font-size: 2em;
font-weight: bold;
margin: .67em 0;
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;