美文网首页
解决高度塌陷的四种方法

解决高度塌陷的四种方法

作者: 秋城晚风 | 来源:发表于2022-06-21 15:41 被阅读0次

额外标签法

额外标签法也称为隔墙法,会在浮动元素末尾添加一个空的标签,原理是使用一个空盒子让浮动形成闭合浮动 ,只让浮动在父盒子内部影响,不影响父盒子外面的其他盒子。

代码如下(示例):

<style>

    .box {

        border: 1px solid blue;

    }

    .box1 {

        float: left;

        width: 100px;

        height: 100px;

        background-color: aqua;

    }

</style>

<body>

    <div class="box">

        <div class="box1"></div>

        <div style="clear: both"></div>

    </div>

</body>

使用overflow

可以给父级添加overflow属性,将其属性值设置为hidden、auto或scroll,overflow是指溢出的部分,overflow直接使用将溢出部分删除,就可以让浮动盒子留在盒子里。

代码如下(示例):

<style>

    .box {

        border: 1px solid blue;

        overflow: hidden;

    }

    .box1 {

        float: left;

        width: 100px;

        height: 100px;

        background-color: aqua;

    }

</style>

<body>

    <div class="box">

        <div class="box1"></div>

    </div>

</body>

添加:after伪类元素

简单说就是第一种方法的升级版,可以直接在HTML里面的盒子里放入clearfix就可以直接实现清除浮动的效果。

代码如下:

<style>

    .box {

        border: 1px solid blue;

        overflow: hidden;

    }

    .box1 {

        float: left;

        width: 100px;

        height: 100px;

        background-color: aqua;

    }

    .clearfix:after {

        content: "";

        display: block;

        height: 0;

        clear: both;

        visibility: hidden;

    }

    .clearfix {

        /* IE6、7 专有 */

        *zoom: 1;

    }

</style>

<body>

    <div class="box">

        <div class="box1 clearfix"></div>

    </div>

</body>

给父级添加双伪元素

在CSS的style中写下双伪元素的伪类选择器之后,在父级的父子class内写入clearfix就可以实现清除浮动的效果,这个效果在各种大型的网站中使用较多

<style>

    .box {

        border: 1px solid blue;

        overflow: hidden;

    }

    .box1 {

        float: left;

        width: 100px;

        height: 100px;

        background-color: aqua;

    }

    .clearfix:before,

    .clearfix:after {

        content: "";

        display: table;

    }

    .clearfix:after {

        clear: both;

    }

    .clearfix {

        *zoom: 1;

    }

</style>

<body>

    <div class="box clearfix">

        <div class="box1"></div>

    </div>

</body>

总结

这里只是介绍了集中清除浮动的方法,清除浮动的本质是清除浮动元素造成的影响。如果父盒子本身有高度,则不需要清除浮动。四种清除浮动的方法中,下面三种使用更多,可以根据自己的需求使用。

相关文章

网友评论

      本文标题:解决高度塌陷的四种方法

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