有人可以澄清如何设置html文档的宽度。 我已经设置了我的身体标签的宽度,甚至做了一个包装div来设置宽度,但页面仍然运行几个像素宽? 我做错了什么?
答案 0 :(得分:2)
您可能需要为填充和身体和边缘的边距指定零。 HTML:
html, body {
margin: 0;
padding: 0;
}
答案 1 :(得分:1)
body标签在所有浏览器中都有默认边距。也许它缺少margin: 0px
?
虽然根据规则可能没问题(我不知道是不是这样),给body
标签宽度听起来不对我好。如果您需要将内容限制在特定区域,请最好直接在<div>
下方使用容器<body>
。
答案 2 :(得分:0)
我身体标签的宽度
某些浏览器(例如许多版本的Internet Explorer)不允许您在body元素上设置宽度。通常最好添加一个包装div和样式,而不是
页面正在运行几个像素宽
您可能没有删除默认的填充和/或边距(不同的浏览器具有不同的默认值)
答案 3 :(得分:0)
跟进@pekka说的话:
body标签在所有浏览器中都有默认边距
浏览器具有不同的默认样式,这可能解释了您所看到的额外边距或填充。为了让你的css按照你的预期行事,通常建议重置你的CSS。简而言之,但是在所有元素中定义某些样式,可以消除这些浏览器的不一致性,然后可以相信您的样式也会按照您的需要进行级联。这就是为什么在HTML和BODY元素上设置边距消除了问题中提到的额外空间的原因。
Eric Meyer对此有很好的想法,他的重置是我在网上最经常使用的重置。但是,应该注意的是,不应使用下面的广泛示例。调整它以满足您项目的需求
Ex(来自Eric Meyer的重置,链接如下):
/* http://meyerweb.com/eric/tools/css/reset/ */
/* 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;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
/* remember to highlight inserts somehow! */
ins {
text-decoration: none;
}
del {
text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}
查看这些讨论以获得更详细的解释:
http://meyerweb.com/eric/tools/css/reset/
http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/
答案 4 :(得分:0)
元素(例如body
标签)都有默认边距和填充,其中许多都是非零的。这可能解释了额外的像素。
html, body {
width: 800px;
margin: 0;
padding: 0;
}
这是CSS Reset的示例:概念是消除特定于浏览器的默认设置,以便您可以控制所有浏览器的确切外观。在这个增量重置中,我们消除了可能导致额外像素的两个元素的边距和填充。