CSS:当子元素皆浮动,撑开父元素的3种方式

1. 在子元素后面补充同级的空元素,并定义清除浮动样式

html文件

    <main>
        <div>
            <span>肥水东流无尽期。当初不合种相思。梦中未比丹青见,暗里忽惊山鸟啼。</span>
            <br><br>
            <span>春未绿,鬓先丝。人间别久不成悲。谁教岁岁红莲夜,两处沉吟各自知。</span>

        </div>
        <div>
            <span>肥水东流无尽期。当初不合种相思。梦中未比丹青见,暗里忽惊山鸟啼。</span>
            <br><br>
            <span>春未绿,鬓先丝。人间别久不成悲。谁教岁岁红莲夜,两处沉吟各自知。</span>
        </div>
        <article class="clearfix"></article>
    </main>

less文件

main{
    width: 800px;
    // height: 400px;
    border: dashed 2px #351F39;

    div{

        width: 300px;
        height: 300px;
        border: solid 2px black;
        margin: 30px;

        &:nth-of-type(1){
            span{
                text-indent: 4px;
                padding: 5px;
                letter-spacing: 2px;
                color: #FFB319;
            }
            writing-mode: vertical-rl;
            background-color: rgb(22,96,55);
            float: left;
        }
        
        &:nth-of-type(2){
            span{
                text-indent: 4px;
                padding: 5px;
                letter-spacing: 2px;
                color: #D89216;
            }
            writing-mode: vertical-rl;
            background-color: rgb(250,218,128);
            float: right;
        }
        
    }

    .clearfix{
        clear: both;
    }

    
}

可以看到mian元素下的两个div,一个向左浮动,一个向右浮动,而浮动元素不占用空间位,如果没有下面空的article,显示的效果是这样的—— 

现在加入article,并对类clearfix设置清除两边浮动样式,得到的结果是这样的——

 这是因为article元素虽空,但是识别出了上面两个div的空间位,会占用更底部的空间位,由此把父元素main给撑开了。

3. 出发BFC机制,该机制不会让子元素和父元素重叠

即给父元素main加上

overflow:hidden;

出处:后盾人 向军老师 bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CSU迦叶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值