如何使浮动div的父级100%高度?这是HTML:<div id="outer">
<div id="inner"></div>
Test</div>这是CSS:#inner {
float: left;
height: 100%;}在使用Chrome开发人员工具进行检查后,内部div的高度为0px。如何强制它为父div的高度的100%?
3 回答

繁花如伊
TA贡献2012条经验 获得超12个赞
对于#outer
基于其内容#inner
的高度,并且基于其高度,使两个元素绝对定位。
更多细节可以在css height属性的规范中找到,但基本上,如果高度为,则#inner
必须忽略#outer
高度,除非绝对定位。然后高度将为0,除非它本身绝对定位。#outer
auto
#outer
#inner
#inner
<style> #outer { position:absolute; height:auto; width:200px; border: 1px solid red; } #inner { position:absolute; height:100%; width:20px; border: 1px solid black; }</style><div id='outer'> <div id='inner'> </div> text</div>
但是......通过#inner
绝对定位,float
设置将被忽略,因此您需要#inner
明确选择宽度,并添加填充#outer
以伪造我怀疑您想要的文本包装。例如,下面的填充#outer
宽度为#inner
+3。方便地(因为整个点是要达到#inner
100%的高度),不需要在下面包装文本#inner
,所以这看起来就像#inner
是浮动的。
<style> #outer2{ padding-left: 23px; position:absolute; height:auto; width:200px; border: 1px solid red; } #inner2{ left:0; position:absolute; height:100%; width:20px; border: 1px solid black; }</style><div id='outer2'> <div id='inner2'> </div> text</div>
我删除了之前的答案,因为它基于对您的目标的错误假设。

GCT1015
TA贡献1827条经验 获得超4个赞
实际上,只要定位了父元素,就可以将子元素的高度设置为100%。即,如果您不希望父母绝对定位。让我进一步解释一下:
<style> #outer2 { padding-left: 23px; position: relative; height:auto; width:200px; border: 1px solid red; } #inner2 { left:0; position:absolute; height:100%; width:20px; border: 1px solid black; }</style><div id='outer2'> <div id='inner2'> </div></div>
- 3 回答
- 0 关注
- 1153 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消