Css 为什么在<;html>;元素?

Css 为什么在<;html>;元素?,css,Css,在CSS样式表中,我经常看到以下规则: html, body { margin : 0px; padding : 0px; } 为什么要在元素上设置零边距?为什么不只是在元素上 相关问题:,因为如果这些元素上没有设置样式,浏览器有自己的默认边距和填充样式。将这些元素重置为0将始终保持不变。您可以在CSS中显示或设置任何HTML元素的样式。理论上也可以显示HTML元素本身 另一个原因是继承。许多值被继承或可以手动继承。如果您为HTML元素设置了一个全局边距,那么您只需在BODY元素上继

在CSS样式表中,我经常看到以下规则:

html, body {
  margin  : 0px;
  padding : 0px;
}
为什么要在
元素上设置零边距?为什么不只是在
元素上


相关问题:

,因为如果这些元素上没有设置样式,浏览器有自己的默认边距和填充样式。将这些元素重置为0将始终保持不变。

您可以在CSS中显示或设置任何HTML元素的样式。理论上也可以显示HTML元素本身

另一个原因是继承。许多值被继承或可以手动继承。如果您为HTML元素设置了一个全局边距,那么您只需在BODY元素上继承该值即可

显示标题元素内容的示例:

head, title {
    display: block;
}


但总而言之,你不应该再使用reset.css了使用规范化样式表,该样式表只设置不同浏览器之间不同的值。最有名的。此选项也不会重置HTML元素的边距或填充。

根据W3s默认样式表(),HTML标记不应具有任何边距或填充,因此不必重置HTML标记上的边距或填充

但我想可能有一些浏览器不遵循这些准则,因此需要重置html标记


我猜人们会因为旧习惯而放弃html标记的重置。

如果我们不这样做,每个浏览器的边距都有一个默认值,有时,当我们在html中编码时,我们不使用
这些css声明就像一个陷阱:)

如果您根据不同的浏览器重置默认的正文边距,即5或7px,那么请将其设置正确。重置主体,有时(像PSP浏览器)甚至html都有一个默认的边距,这意味着主体是不够的。但现在的主要原因是,当你想要完全重置时,你只是为了代码中的纯粹清除而行动,如果你只重置主体,人们会说嘿,但是为什么html没有被清理,因此,只需清理html,现在您完全可以确定您的边距为0,任何看到您的代码的程序员都会说ok body和html为0,所以它为0,hurra为该死的0:)

通过删除浏览器设置的默认样式,您就可以为实现样式获得一个“干净的开始”。实际上,大多数人都会重置浏览器设置的“所有”默认样式,但我想你知道这一点。:) 我总是使用完全重置-以确保以后不必使用默认样式

规范化css

重置css(我使用这个)

好的,但是为什么不只是在
元素上呢?这个老习惯是从哪里来的?这就是问题所在,这是个很好的问题。我猜这是因为人们担心浏览器不符合标准,只是为了安全才放在那里。不是所有的HTML元素都可以显示。是否可以显示
元素?所有可显示的元素都继承自
,那么为什么要将零边距设置为
?我不明白您的答案。@OrtomalaLokni有些时候,当我们编程时,我们不放置并标记代码,而是直接将代码放置在JSP或PHPAre中。您确定PSP浏览器放置了非零的
边距吗?因为normalize.css无法解决这个问题。PSP浏览器目前还不符合标准。由于在这方面有所发展,我可以说很难理解它的逻辑。是的,html有一个默认的边距,例如,
标记甚至不能正常工作。css不会重置
边距和填充。为什么?这就是我发布这两个链接的原因。两者之间的区别在于重置css只会将所有内容置为零,而normalize会尝试提高不同浏览器之间渲染的一致性。很多人认为重置css有点太多了,但我觉得在使用normalize时,我需要手动执行很多额外的操作。这两种工具的用途相似但不同,选择取决于您。:)