浏览器设置默认填充/边距的HTML元素是什么?

时间:2012-02-24 10:04:50

标签: html css

我知道olul元素几乎在所有浏览器上都设置了默认填充。显然h{#}个标签也适用于某些浏览器。

如何获取所有元素的列表?

我可以简单地* { margin: 0; padding: 0; }(这是我想要的结果),但那简直不好。

3 个答案:

答案 0 :(得分:6)

W3C在这里有一个(信息性的,非规范性)HTML 4默认样式表:

http://www.w3.org/TR/CSS2/sample.html

你可以看到没有元素有填充,但是body,h1..h6,p,fieldset,form,ul,ol,dl,dir,menu,blockquote和dd默认都有一个边距。

答案 1 :(得分:2)

这是一个有点解决的问题。您有两种选择:

  1. 一个'重置'样式表,可以从(几乎所有)元素中删除所有特殊样式(如填充和边距),因此您可以开始'新鲜'。您需要为font-weight old和<b>重新定义<strong>之类的内容。 Reset.css是一个受欢迎的选择。
  2. 设置合理默认值的样式表。例如,这将删除填充和边距,但然后再次添加它们,以便浏览器彼此一致。 HTML5 Boilerplate中包含的样式表可以根据您的需要进行删除或使用。
  3. 您还可以使用上述两个样式表作为指导,了解哪些元素可能在不同的用户代理中具有边距和填充,并自行滚动。在我看来,设置合理的默认值(第二个选项)更好,因为你可能会忘记这样的事情:用简单的'重置样式表'来聚焦样式。

答案 2 :(得分:0)

您可以使用简单的CSS重置,所有重置的列表:http://perishablepress.com/press/2007/10/23/a-killer-collection-of-global-css-reset-styles/

您可以查看使用者样式表:http://meiert.com/en/blog/20070922/user-agent-style-sheets/

但是有很多元素有填充/边距:

  • body
  • blockquote
  • dd
  • p
  • 等。