2013-02-04 201 views
0

可能重复:
Browsers' default CSS for HTML elements默认样式

是否有一个参考的地方所有的默认样式DOM元素?

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

是否有一些简单的方法来提取此?我试过了:

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

但它返回空白。大概是因为没有定义marginTop

在此先感谢。

+2

这是由W3的CSS 2.1提供:http://www.w3.org/TR/CSS21/sample.html – PlantTheIdea

+0

@LifeInTheGrey ......这还不是最HTML规范的最新版本。 –

+2

@Matt - CSS 2.1是CSS的最新正式版本。我编辑了我的言论,以便那些不打扰点击链接的人不会抱怨。 – PlantTheIdea

回答

2

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

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

如果您需要以编程方式获取计算的样式,我建议您使用jquery来平衡差异,或者使用元素的getComputedStyle()或currentStyle属性。 jQuery自动为你做这件事。

如果你只是想知道如何处理这个跨浏览器而不会发疯,我建议使用重置样式表。有许多。 Eric Meyer是最出名的,但是现在有很多工具,比如Bootstrap,Blueprint,Normalize和YUI。

+0

重置是一个很好的,但更好的(恕我直言)是Normalize.css 。它没有试图像Reset一样重新开始,它试图通过消除各个浏览器的怪癖来在所有浏览器中创建类似的体验。 – PlantTheIdea

+0

感谢您的意见。我补充说,答案。 – Jordan

1

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

对于<h1>,这里是每个

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; 
相关CSS

IE8/9

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