在CSS样式表中,我经常看到这条规则:
html, body {
margin : 0px;
padding : 0px;
}
为什么要在<html>
元素上设置零保证金?为什么不在<body>
元素上?
答案 0 :(得分:1)
如果在这些元素上没有设置样式,浏览器有自己的边距和填充的默认样式。将这些元素重置为0将始终保持相同。
答案 1 :(得分:1)
根据W3s默认样式表(http://www.w3.org/TR/CSS2/sample.html),html标签不应该有任何边距或填充,因此不需要重置html标签上的边距或填充。
但我想可能会有一些浏览器没有遵循这些指导原则,因此需要重置html标签。
我猜测人们因为旧习惯而将重置为html标签。
答案 2 :(得分:0)
如果您根据不同的浏览器重置默认的身体边距(5或7px),请将其设为正确。重置正文,有时(像PSP浏览器)甚至html都有默认的边距,这意味着身体不够。但是现在主要的原因是当你想要一个完全重置时,你只是为了你的代码中的纯粹清除而行动,如果你只重置身体,人们会说嘿但是为什么html没有被清理,所以只需清理html所以现在你完全确定你有一个0的余量,任何看到你的代码的编码器都会说ok,而且html是0所以它在0并且它的上帝该死的0:)
答案 3 :(得分:0)
通过删除浏览器设置的默认样式,您可以获得实现样式的“干净利落”。实际上大多数人都重置了浏览器设置的“全部”默认样式,但我想你知道的。 :) 我总是使用完全重置 - 以确保我以后不必使用默认样式。
规范化css http://necolas.github.io/normalize.css/
重置css(我用这个) http://meyerweb.com/eric/tools/css/reset/
答案 4 :(得分:-1)
您可以在CSS中显示或设置任何HTML元素的样式。理论上也可以显示HTML元素本身。
另一个原因是继承。许多值可以继承,也可以手动继承。如果为HTML元素设置全局边距,则可以继承该值,例如在BODY元素上。
显示TITLE元素内容的示例:
head, title {
display: block;
}
http://jsfiddle.net/feeela/YmamL/
但总而言之,你应该不再使用reset.css 了。 使用规范化样式表,仅将那些不同的值从浏览器设置为。最着名的normalize.css currently is probably that of Nicolas Gallagher。这个也不会重置HTML元素的边距或填充。
答案 5 :(得分:-1)
如果我们不这样做,每个浏览器都有一个默认的margin值,有时当我们在html中编码时,我们不使用<html>
和<body>
这些css声明就像一个catch :)