zoukankan      html  css  js  c++  java
  • 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

    效果展示:

  • 相关阅读:
    java 读写word java 动态写入 模板文件
    Java代码获取NTP服务器时间
    Web环境使用相对路径发布Webservice
    eclipse 标记任务
    抽象工厂模式
    CentOS 7.0 使用yum 安装 Mariadb
    Centos 7 JDK 安装(默认之前没有安装过)
    深入浅出《设计模式》之外观模式(C++)
    深入浅出《设计模式》之工厂模式(C++)
    深入浅出《设计模式》之简单工厂模式(C++)
  • 原文地址:https://www.cnblogs.com/lanshanxiao/p/12668095.html
Copyright © 2011-2022 走看看