【问题标题】:Padding on body element身体元素上的填充
【发布时间】:2014-05-22 16:54:50
【问题描述】:

为什么人们在 body 元素上添加padding:0;?我认为这没有任何意义。所有浏览器在正文上使用默认的margin:8px;,而不是填充。我错过了什么吗?有什么怪癖吗?

【问题讨论】:

  • 怎么知道所有浏览器都使用默认margin:8px; ?
  • 您可能想阅读此页面maxdesign.com.au/articles/body
  • 我读过这个,但这是从 2003 年开始的。我知道所有 5 个主要浏览器的主体都有 8px 边距形式的用户代理样式表。所以设置边距:0;将所有内容放在左上角。设置 IMO 不需要填充。甚至规范说主体必须有 8px 的边距而不是填充。 w3.org/TR/CSS2/sample.html
  • @Blago: "这个附录是提供信息的,不是规范的。" 你在这里使用“必须”这个词是不正确的。

标签: html css


【解决方案1】:
  * {
     margin: 0;
     padding: 0;
    }

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

【讨论】:

  • 只使用“*”并不慢!这是极快的。使用“h1 *”或“div *”之类的东西确实很慢,因为浏览器从右到左读取选择器以匹配元素。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2018-04-25
    • 2017-03-06
    • 2015-02-03
    • 2021-01-27
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    相关资源
    最近更新 更多