为了账号安全,请及时绑定邮箱和手机立即绑定

如何使浮动div的父级100%高度?

如何使浮动div的父级100%高度?

扬帆大鱼 2019-07-31 17:57:50
如何使浮动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,除非它本身绝对定位。#outerauto #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。方便地(因为整个点是要达到#inner100%的高度),不需要在下面包装文本#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>

我删除了之前的答案,因为它基于对您的目标的错误假设。


查看完整回答
反对 回复 2019-07-31
?
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>


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 1153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信