我有一段代码,看起来像这样:为什么我需要这些div的边框才能正确渲染?
<div class="header">
</div>
<div class="right-gradient">
<div class="left-gradient">
@RenderBody()
</div>
</div>
.right-gradient
{
background: url('Images/RightGradient.png') repeat-y right top transparent;
}
.left-gradient
{
background: url('Images/RightGradient.png') repeat-y left top transparent;
}
应该导致这样的事情:
|-------------------| |##### Header ######| |-------------------| |// \\| |// Content \\| |// \\| |// \\| ---------------------
然而它,而不是呈现这样的:
|-------------------| |##### Header ######| |-------------------| | | - Note the extra space here |// \\| |// Content \\| |// \\| |// \\| ---------------------
虽然试图找出标题和内容之间的额外空间来自哪里,我发现添加一个边框到我的div实际上纠正解决问题并删除标题和内容之间的违规空间。
.right-gradient
{
background: url('Images/RightGradient.png') repeat-y right top transparent;
border: 1px red solid;
}
.left-gradient
{
background: url('Images/RightGradient.png') repeat-y left top transparent;
border: 1px blue solid;
}
这是为什么?
jsfiddle with sample code reproducing the problem
请张贴与代码的jsfiddle。 –
你的divs有没有利润空间? –
听起来像一个边缘崩溃。内容块中的第一个元素具有顶部边距。向内容块添加边框可防止边距塌陷。 – cimmanon