【发布时间】:2023-03-15 15:28:01
【问题描述】:
示例 HTML+CSS:
<html>
<body style="padding: 0; margin: 0;">
<div style="float: right;">first</div>
<div style="margin-top: 2em;">second</div>
</body>
</html>
期望的行为:first div 浮动到窗口的右上角。 实际行为:它在所需位置下方浮动 2em。 原因: margin collapsing.
尽管发现了问题,但我能想出的解决方案感觉就像是 hack:
- 将
body样式更改为margin: -1px 0 0 0; border-top: 1px solid;。 - 在
first之前插入<div style="height: 1px; margin-bottom: -1px;"></div> - 在
first和second之间插入上面的<div>
有没有一种简洁、惯用的方法来避免这个问题?
【问题讨论】:
标签: css layout css-float margin