html - 忽略绝对定位的 div 的高度

标签 html css css-position

我有这个简单的 html 结构:

<div id="mainbody">
  <div id="main">
  ...
  </div>
  <div id="left">
  ...
  </div>
</div>
<div id="footer">
...
</div>

div“mainbody”的位置是:相对的。 div“left”在页面左侧具有绝对位置和动态高度。 div“main” float 在div“left”的右侧。

CSS:

#mainbody {
    position:relative;
}
#left {
    position:absolute;
    width:250px;
}
#main {
    float: left;
    margin-left: 260px;
    width:80%;
}

问题:div“left”的高度被忽略,div“footer”从 div“main”结束的地方开始,即使 div“left”的高度大于 div“main”。

最佳答案

您正在寻找的是 clearfix这样你的元素就会正确加载。参见 the linked SO question "Which method of 'clearfix' is best?"对于许多可能的 clearfixes。

footer 元素将自己放在main 元素旁边的原因是因为绝对定位元素已从页面流中移除。结果,后面的元素将绝对定位的元素视为最初不存在的元素。使用 clearfix,此问题已解决。

关于html - 忽略绝对定位的 div 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245193/

相关文章:

javascript - 如何将变量从js文件传递到html页面?

jquery - 通过复选框cookie显示和隐藏div

css - 只需通过覆盖的 div 单击一个按钮

html - z-index - 将深层嵌套元素放在最前面

html - 如何自动设置元素(如div)的高度取决于它里面的元素; CSS;网页格式

javascript - 上传文件后表单响应问题

javascript - JavaScript中如何通过setInterval方法实现TRANSITION效果?

HTML 表格设置 td 高度不起作用

css - 如何删除 Firefox 在列表框上的虚线轮廓?

html - Delphi & CSS - 盒子模型问题