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

解决高度塌陷的四种方法

作者: 秋城晚风 | 来源:发表于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