4.CSS中float导致的高度坍塌问题及解决方法

2020-04-09 16:03:20来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

4.CSS中float导致的高度坍塌问题及解决方法

高度坍塌:浮动元素布局导致的问题

高度坍塌的根源:浮动盒子脱离了常规流,因此常规流盒子进行高度计算时,不会考虑浮动盒子的高度。

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container{
            padding:30px;
            background-color:blue;
        }
        .sub{
            height:100px;
            width:100px;
            margin:10px;
            float:left;
            background-color: red;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
    </div>
</body>
</html>
index.html

 

效果展示:

 

 .container的div元素没有将10个.sub的div元素包裹。

 

解决方法:

清除浮动,涉及CSS属性:clear

clear:默认值为none,不清除浮动

clear:both,清除左右浮动,该元素必须出现在所有浮动盒子的下方

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            padding: 30px;
            background-color: blue;
        }

        .sub {
            height: 100px;
            width: 100px;
            margin: 10px;
            float: left;
            background-color: red;
        }

        .clearfix::after {
            content: "";
            display: block;
            clear: both;
        }
    </style>
</head>

<body>
    <div class="container clearfix">
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
        <div class="sub"></div>
    </div>
</body>

</html>
index.html

 

效果展示:

 


原文链接:https://www.cnblogs.com/lanshanxiao/p/12668095.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Web前端开发难吗?都要学习哪些内容?

下一篇: 前端开发者如何提升自我能力?对前端开发者的建议