标签的边距和填充

时间:2012-06-16 20:33:52

标签: html stylesheet padding margin

我正在编写一个非常简单的HTML代码,如下所示。写在记事本中,在IE-8和Firefox(OS:Window Vista)中打开。

<html>
<body>
    <table border="1"><tr><td>test</td></tr></table>
</body>
</html>

上面的代码没什么特别的,它是从左上角创建一些空间。

enter image description here

使用以下代码可以轻松删除

<body style="margin:0; padding:0">

现在我找到了默认的边距和填充,对于Firefox来说是4,对于IE-8是不同的。

<body style="margin:4; padding:4">

我对这种情况有一些疑问。

  1. 为什么这个值是4?
  2. 这个值来自何处,是否保存在某个地方?
  3. 我们可以修改(可配置)此默认值吗?
  4. 浏览器的这些值有何不同?
  5. 感谢。

4 个答案:

答案 0 :(得分:10)

  1. 首先,它可能是4px而不是4。其次,这就是浏览器供应商决定的默认方式。
  2. 它保存在默认的浏览器样式表中。
  3. 你可以,但不应该。它与每个浏览器不同。谷歌一下! How do I change default stylesheet on <insert browser here>?
  4. 可能存在细微差别,您应该能够通过查看默认样式表来判断... :)
  5. 这种差异是我们设计师使用CSS重置的主要原因之一,用于规范化不同浏览器实现后的所有CSS尴尬。

答案 1 :(得分:2)

浏览器为大多数HTML元素的CSS内置了“理智的默认值” - 如果你有没有CSS的纯HTML,这只会阻止你的页面看起来完全不可读,但它们当然是要被你自己的CSS覆盖。

默认的浏览器样式通常被称为“用户代理样式表” - 以下网站是IE多年来所拥有的各种特殊UA表的良好参考,并且还提供了对于底部的其他浏览器:

http://www.iecss.com/

许多人使用“规范化”默认值的一种方法,因此您在所有浏览器中都有相同的起点“CSS重置” - 这只是你在自己的CSS之前放置的CSS片段,它将所有UA样式设置为相同的东西。这是众所周知的:

http://necolas.github.com/normalize.css/

答案 2 :(得分:0)

试试这个

body{
    line-height: 0
}

答案 3 :(得分:-2)

在样式表

上添加它
*{margin:0px;padding:0px;}

这消除了浏览器中填充和边距的所有差异。