我在表格单元格中有这个div容器:
<table style="width: 100%; background:transparent" border="0" cellspacing="0" cellpadding="0">
<tbody><tr>
<td>
<!-- This div is making troubles -->
<div style="margin: 0; border: 1px solid blue; background-color:#CAE2F0; align:right; font-size: 150%; font-weight: bold; text-align:center;margin-right:5px;padding: 0;">
<p>Themensuche</p>
</div>
</td>
...
...
</tr></tbody>
</table>
没有什么特别的,没有实验,没有浮动,一切都是静止的。
只要div具有正常边框,一切看起来都很好:
<div style="margin: 0; border: 1px solid blue; ...
这是问题所在。一旦我将边框设置为0,边框和div的大部分内部空间就会被切断:
<div style="margin: 0; border: 0; ...
我已经检查过Chrome和Mozilla边缘。是什么导致浏览器切断内部空间?这违背了我对盒子模型的完全理解。你怎么建议我开始调试这个?
感谢您的关注。
答案 0 :(得分:1)
问题是p
默认的顶部和底部margin
在我们的情况下是25px,父级的边框取消了这个顶部和底部margin
崩溃。要解决您的问题,请从段落中删除margin
并将等效的padding-top
添加到父级div和padding-bottom
,您可以看到我的解决方案here
答案 1 :(得分:1)
答案 2 :(得分:1)
<p>
代码的默认余量为24px
top
和bottom
。
当您向父div
添加边框时,它会覆盖该边距top
和bottom
。
当您移除border
的{{1}}时,它不会覆盖div
个margin
标记的默认<p>
。
如果您希望保持div的高度,只需将overflow: hidden;
添加到div
答案 3 :(得分:0)