我有一个简单的HTML页面之间,如下所示:是什么差距的原因的DIV
<html>
<head>
<style>
BODY { margin:0px; padding:0px; background-color:#000000; color:#FFFFFF;}
/*H1 { margin:0px; }*/
.t-head { padding:10px; background-color:#0000FF; }
.t-body { background-color:#FFFFFF; color:#000000; /*padding:10px;*/}
.t-footer { padding:10px; background-color:#0000FF; color:#FFFFFF;}
</style>
</head>
<body>
<div class="t-head">Header content</div>
<div class="t-body">
<h1>Content Header</h1>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.
</div>
<div class="t-footer">Footer content</div>
</body>
</html>
页面的主体具有三个部分 - 报头DIV(叔报头),主体DIV( t-body)和页脚DIV(t-footer)。为了便于讨论,我将BODY的背景设为黑色。如果您在浏览器中查看此页面,则标题DIV和正文DIV之间会存在间隙(即黑色水平条带)。这种行为在IE,Chrome和Firefox中是一致的。
我知道差距的罪魁祸首 - 这是H1标签的边缘。如果从页面的样式部分取消注释H1样式,则会看到差距消失。或者,您可以将H1样式留下评论,并取消t-body类中的填充样式,间隔将消失。我不明白的是为什么的 H1距使T字头DIV和T形体DIV之间的间隙。我对CSS的理解(显然是错误的)是H1边距应该从t-body DIV的顶部计算出来。我也不明白为什么为t-body DIV添加填充修复了这个问题。
任何人都可以解释为什么H1利润率似乎导致了T字头DIV和T形体DIV之间的差距的原因是什么? ...另外,为什么向t-body DIV添加填充可以解决问题?
一个的jsfiddle显示您的问题:http://jsfiddle.net/AvLTL/ – enguerranws
HerrSerker的答案是正确的,但是这已经被问到,并在SO上回答。 [阅读类似问题的答案](http://stackoverflow.com/questions/996693/why-do-the-p-and-h1-elements-cause-gaps-in-my-layout) – CJdriver