四招解决盒子塌陷

256 阅读1分钟
解决盒子塌陷的四种方法
代码见下:

<style>
        * {
            margin: 0;
            padding: 0;
        }
        .box{
            border:2px solid red;
            width: 400px;
            background-color: aquamarine;
            /* overflow:hidden可以解决浮动造成的盒子塌陷问题 */
            /* overflow: hidden; */
           /* height: 150px; */
        }

        /* 给.a 和.b 设置同一种样式 */
        .a,.b {
            width: 150px;
            height: 150px;
            background-color: aqua;
            /* display: inline-block; */
            float:left;
        }
        /* 标准流布局 */
        /* float:left 脱离了标准流布局 */
        /* 给父盒子造成了 盒子塌陷 */
        /* 使用 display: inline-block; 会产生一条缝隙*/

        /* 目前解决盒子塌陷的方法 */
        /* 第一种给父盒子添加属性overflow:hidden,但是如果是下拉列表的情况,超出的会隐藏 */
        /* 第二种是给父盒子固定的高度,但是子盒子变多会溢出 */
        /* 第三种方式是个父盒子里面添加一个div,设置clear:both清除两边的浮动即可
        但是会多出一个div元素,显得很多余 */
        /* 第四种清除浮动的方法 伪类 */
        .box:after{
            /* content里面内容会显示到页面上 */
            content: '';
            display: block;
            clear:both;
        }

        /* div 有个红色边框 里面有两个子盒子(100*100)一个红色 一个绿色 两个都是左浮动 */
        /* 使用4种方法 让div 的盒子不塌陷 */
        
    </style>
</head>

<body>
    <!-- clear:both清除两边的浮动 -->
    <div class="box">
        <div class="a">123123</div>
        <div class="b">456456</div>
        
        <!-- <div style="clear:both;"></div> -->
    </div>
    

   <!--  <div style=" overflow:hidden;width: 200px;height: 200px;border: 2px solid blue;">
        <div style="width: 250px;height: 250px;background-color: red;float:left;"></div>
        <div style="width: 250px;height: 250px;background-color: red;float:left;"></div>
    </div> -->
    
   
</body>