【发布时间】:2010-12-25 09:36:59
【问题描述】:
我有一个包含 2 个 div 的页面。第一个是浮动的。第二个有一个“clear: both” CSS 声明和一个很大的上边距。但是,当我在 Firefox 或 IE8 中查看页面时,我看不到上边距。看起来第二个 div 正在接触第一个 div,而不是被分开。有什么办法可以让上边距正常工作吗?
我阅读了 CSS 规范并注意到它说“由于浮动不在流中,因此在浮动框之前和之后创建的非定位块框垂直流动,就好像浮动不存在一样。”。但是,我不知道该怎么办。
这是一个例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CSS test</title>
</head>
<body>
<div style="float: left; border: solid red 1px">foo</div>
<div style="clear: both; margin-top: 90px; border: solid red 1px">This div should not touch the other div.</div>
</body>
</html>
【问题讨论】:
-
这里的所有想法似乎都有效。我将 T. Stone 的答案标记为正确的答案,因为它似乎是最优雅的,尽管很难决定。