参考Eric Meyer的重置css,它会为padding
和html
元素设置body
。但是我在文档中找不到html
和body
标记具有这些属性的位置?我犯了错误吗?
/* v1.0 | 20080212 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
答案 0 :(得分:1)
是的,通过css。我不知道在哪里可以找到适当的文档,但是几个开发人员在教程中使用了这个属性。 例如:https://html.com/attributes/body-topmargin/
答案 1 :(得分:0)
你绝对可以在body或html上应用填充和其他css属性。但要小心,因为您将更改整个页面的布局。
答案 2 :(得分:0)
这个问题比起初看起来更有趣。我猜你真正想要的是获得上述元素是块级的证据,以便可以正确应用填充和特别是边距。
好吧,让我们开始吧。在MDN上<html>
和<body>
未在相应的inline - 和block级元素列表中提供。如果我们转到html5 spec,我们可以了解到<body>
的内容模型是流内容(大致对应于html4&#34;块级&#34;类别如MDN writes ,请参阅下面的@Alohci评论)和<html>
的内容模型包含
头元素后跟一个body元素。
现在让我们转到CSS2 spec。它定义了块级元素(框),如下所示:
块级元素是源文档的那些视觉上以块格式化的元素(例如段落)。 &#39;显示&#39;以下值property使元素块级:&#39;阻止&#39; ,&#39; list-item&#39;和&#39; table&#39;。
通常,块级元素参与块格式化上下文,此fact允许我们设置边距。现在我们需要从技术上理解<html>
和<body>
块级元素的用途。嗯,这非常简单 - 所有现代浏览器都定义了所谓的用户代理样式表&#34;在哪里可以轻松找到:
body {display: block;}
html {display: block;}
例如,在Mozilla Firefox中,您可以通过
获取这些样式view-source:resource://gre-resources/html.css
在Google Chrome浏览器中,可以在“开发人员工具”的“样式”标签中找到这些行。
所以,回答你的问题,填充,特别是边距可以应用于<html>
和<body>
元素,因为它们属于html5流内容内容模型(html4&#34;块级& #34;类别)通过标准并确保所需的行为并避免一些怪癖,他们明确地设置在&#34;用户代理样式表&#34;通过display: block;
成为块级元素。
<强> PS 即可。这是我在快速浏览规格后得到它的方式。我的解释可能包含不准确之处。如果您发现了一个 - 请随意在评论部分进行更正。