html - 主体不会扩展以包含相对定位的元素

标签 html css css-float css-position

我正在尝试设计一个相对定位的 div,它又包含两个 div。子 div 都没有固定高度,但它们会随着内容的变化而变化,因此父 div 会随着子 div 的高度而扩展。现在设计工作正常,但是当我用 Firebug 分析代码时,我看到将鼠标悬停在 Firebug 中的 body 标签上时,只有最顶部整个屏幕的一小部分显示为 body 。侧面板确认了,body 的宽度是可以的,但是高度是 0。这意味着父 div 的高度是 0,但是 Firebug 告诉我它不是,它是一些560 像素。这怎么可能?我知道如果内容是绝对定位的,元素不会随内容扩展,但这里子 div 是相对定位的,那么为什么父元素不随内容扩展? fiddle 在 http://jsfiddle.net/Cupidvogel/y79NS/6/ .屏幕截图(请放大以了解我的观点!这是我在 Firefox 中将代码作为完整的 HTML 页面进行尝试时的截图):

enter image description here

最佳答案

在您的 CSS 中,div.clear - 您用来尝试清除 float 的对象 - 本身向左浮动。这意味着它也不是文档流的一部分,因此无法清除任何内容。

删除 float 就可以了:

.clear { width: 400px; clear: both; position: relative; }

或者,如果您希望 div.clear 因某种原因 float ,there are a wide variety of other ways to clear your floats .

编辑:div.main 的高度为 520px,因为它是 float 的, float 元素“捕捉”到其子元素的尺寸。如果您将 body 向左浮动(请不要这样做;这不是一个好主意),它也会“吸附”到其子元素的尺寸并设置为 520 像素的高度。

关于html - 主体不会扩展以包含相对定位的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11796415/

相关文章:

javascript - Css 逐像素变换 Y

javascript - 如何为所有浏览器(包括移动浏览器)验证表单

html - 水平显示 UL 列表

html - float 元素落在另一个 float 元素下方

javascript - float 重定位的 CSS 过渡

jquery - 在 JQuery Mobile 中使用 session 存储的问题

php - 基于断点的 Bootstrap 行元素

jquery - 如何使旋转木马 slider 适合类(class)部分的高度?

javascript - 数据库条目(缩略图)周围的随机颜色边框(Javascript)

css - 调整屏幕大小时的媒体查询错误