iOS开发html+css学习之解决高度塌陷的最终方案之二

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.box1{
border: 1px solid red;
}

    .box2 {
        width: 100px;
        height: 100px;
        background-color: blue;

        float: left;
    }

    /*
        解决高度塌陷方案二:
            可以直接在高度塌陷的父元素的最后,添加一个空白的div,
            由于这个div并没有浮动,所以他是可以撑开父元素的高度的。
            然后再对其进行一个清除浮动,这样可以通过 这个空白的div来撑开父元素的高度
            基本没有副作用

            使用这种方式虽然可以解决问题,但是会在页面中添加多于的结构 
     */
    .clear {
        clear: both;
    }

    /* 
        通过after伪类,选中box1的后边

        可以通过after伪类向元素的最后添加一个空白的块元素,然后对齐清除浮动
        这样做和添加一个div的原理一样,可以达到一个相同的效果,
        而且不会再页面中添加多于的div,这是我们最推荐使用的方式,几乎没有副作用
     */
    .clearfix::after {
        /* 添加一个内容 */
        content: "";
        /* 转换为一个块元素 */
        display: block;
        /* 清除两侧的浮动 */
        clear: both;
    }

    /* 
        在IE6中不支持after伪类
        所以在IE6中还需要使用hasLayout来处理
     */
     .clearfix {
         zoom: 1;
     }
    
    </style>
</head>

<body>
<div class="box1 clearfix">
<div class="box2">

    </div>
    <!-- <div class="clear">

    </div> -->
</div>

</body>
</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。