美文网首页
【CSS】设置浮动元素高度等于父元素

【CSS】设置浮动元素高度等于父元素

作者: 大多数的duytf | 来源:发表于2018-07-30 23:27 被阅读0次

最近在练习中发现了这样一个问题:
红色边框为没有设置高度的父元素(.parent),两个子元素(.left,.right)都设置为左浮动,父元素被右边的元素(.right)撑开。现在我想让左边的元素(.left)高度与父元素相同。

目前效果 期望效果

起初我将左边的子元素(.left)高度设置为100%,即

height = 100%;

但是并没有什么用。

想了各种办法都不能解决,后来想到可以用js,即

$('.left').css('height', $('.right').innerHeight());

但是用js来解决定位问题太大材小用,也不符合规范。

几经周折,在网上找到了解决办法——用绝对定位。但是,如果简单地把左边的子元素设置为绝对定位,会出现这样的情况: 意外情况

因为左边的子元素被设置为绝对定位,已经脱离了正常的文本流。

这里把左边的子元素再包裹一层,设置.left-warp为绝对定位。此时发现.left与.right的位置反了,所以在html代码中将两个子元素的位置对调,再把他们设置为右浮动,这样就达到了要求。

具体代码如下

<div class="parent clearfix">
    <div class="right">
        right
    </div>
    <div class="left-wrap">
        <div class="left">
            left
        </div>
    </div>
</div>
.parent {
    width: 300px;
    border: 2px solid red;
    margin: 30px auto;
}
.clearfix:after {
    content: " ";
    display: block;
    clear: both;
}
.left, .right{
    text-align: center;
}
.left-wrap {
    float: right;
    width: 100px;
}
.left{
    position: absolute;
    width: 100px;
    background-color: pink;
    line-height: 200px;
}
.right{
    width: 200px;
    height: 200px;
    float: right;
    background-color: lightblue;
    line-height: 200px;
}

参考:
https://stackoverflow.com/questions/3049783/how-to-make-a-floated-div-100-height-of-its-parent

相关文章

  • 【CSS】设置浮动元素高度等于父元素

    最近在练习中发现了这样一个问题:红色边框为没有设置高度的父元素(.parent),两个子元素(.left,.rig...

  • 子元素浮动导致父元素高度不够问题的解决方案

    1.子元素浮动导致父元素高度(父元素坍塌) 未设置高度的父元素中,如果有子元素浮动(float),由于子元素不占据...

  • overflow: hidden 属性的作用

    1.当父元素设置了高度时,子元素的内容超出父元素会被隐藏。 2.父元素没有设置高度,且子元素设置了浮动。如果我们给...

  • 清除浮动

    1. 为什么要清除浮动? 父元素的高度是由子元素撑开的,且子元素设置了浮动,父元素没有设置浮动,子元素脱离了标准的...

  • CSS的一些重点

    一、浮动 浮动的影响 父级高度塌陷 清除浮动的方法 给父元素设置宽高(不推荐,高度一般由内容撑开) 给父元素设置溢...

  • 浮动 float

    浮动定位 规则 浮动的问题 清理浮动的方法 设置父元素高度扩展性不好 让父元素浮动可能导致页面中的所有元素都浮动父...

  • 清除浮动

    浮动元素脱离文档流,所以不占位置,当父元素没有设置高度时,不能撑开,导致父元素的高度塌陷,所以需要清除浮动。 方法...

  • 高度塌陷、清除浮动、元素垂直居中

    高度塌陷: 定义:父元素没有设置高度,子元素设置了浮动(float)属性解决办法:清除浮动(仅清除浮动的负面影响,...

  • CSS 中的浮动

    浮动的定义: 元素脱离文档流 举栗子: 修改 CSS 代码,清除浮动: 浮动的影响: 父元素高度塌陷 清除浮动: ...

  • 清除浮动

    给父元素设置宽高: 由于浮动后的元素脱离文档流,无法撑起父元素的宽高,可以设置父元素的宽高。 CSS的clear属...

网友评论

      本文标题:【CSS】设置浮动元素高度等于父元素

      本文链接:https://www.haomeiwen.com/subject/gvvqvftx.html