2014-05-22 108 views
2

为什么人们在身体元素上添加padding:0;?我没有看到任何一点。所有浏览器都使用默认margin:8px;而不是填充。我错过了什么吗?有什么怪癖吗?填充身体元素

+2

您如何知道所有浏览器都使用默认页边距:8px; ? – naota

+0

您可能想阅读本页http://www.maxdesign.com.au/articles/body/ – naota

+0

我读过这个,但这是从2003年。我知道在所有5个主要浏览器正文有8px页边距用户代理样式表。所以设置边距:0;将所有内容放置在左上角。无需填充以设置IMO.Even规范说,身体必须有8px的边距而不是填充。 http://www.w3.org/TR/CSS2/sample.html – Blaja

回答

3
* { 
    margin: 0; 
    padding: 0; 
    } 

这是“CSS Reset”理论的一部分,它有助于保持您的设计在各浏览器之间保持一致,这是一件非常好的事情。不幸的是,这不是一个好的做法。渲染代理非常沉重地将规则应用于文档中的每个元素,特别是对于大型网页,这也会破坏很多良好的默认样式,尤其是当您想要使用默认样式的提交按钮时。

+0

只使用“*”并不慢!这是极快的。使用诸如“h1 *”或“div *”之类的东西确实很慢,因为浏览器从右向左读取选择器以匹配元素。 –

1

如果body {margin:0; },所有其他符合标准的浏览器(不包括Opera)都会将项目设置到窗口的左上角。

如果body {padding:0; },只有Opera(Mac和Windows)会将项目设置到窗口的左上角。

将项目设置到窗口左上角的最佳方法是使用body {margin:0;填充:0;这将适用于所有符合标准的浏览器。