CSS清除浮动的方法

CSS清除浮动的方法

一、clear属性

适合上下关系的标签清除浮动

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box1 {
            width: 100px;
            height: 100px;
            background: pink;
            float: left; ///
        }
        
        .box2 {
            width: 200px;
            height: 200px;
            background: skyblue;
            clear: left; ///
        }
    </style>
</head>

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

CSS清除浮动的方法CSS清除浮动的方法

二、BFC

只要元素满足下面任一条件即可触发BFC特性:

body 根元素
浮动元素:float 除 none 以外的值
绝对定位元素:position (absolute、fixed)
display 为 inline-block、table-cells、flex
overflow 除了 visible 以外的值(hidden、auto、scroll)
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box1 {
            width: 200px;
            border: 1px solid black;
            /* position: fixed;position的值为absolute或fixed */
            /* float: left; 设置父元素float的值不为none*/
            /* overflow: hidden;设置父元素overflow的值不为visible */
            /* display: flex;display的值为inline-block、table-cell、table-caption、flex */
        }
        
        .box2 {
            width: 100px;
            height: 100px;
            background: pink;
            float: left;
        }
    </style>
</head>

<body>
    <div class="box1">
        <div class="box2"></div>
    </div>
    11111111
</body>

三、空标签

这个方法通俗点将就是,父元素下面的子元素都浮动了,如果有一个不浮动岂不是就能包住了?没错这个方法就是尾部添加div的方式思想。

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box1 {
            width: 200px;
            border: 1px solid black;
        }
        
        .box2 {
            width: 100px;
            height: 100px;
            background: skyblue;
            float: left;
        }
    </style>
</head>

<body>
    <div class="box1">
        <div class="box2"></div>
        <div style="clear:both"></div> ///
    </div>
    2222222222
</body>

四、伪元素

<style>
    .clearfix{
        *zoom:1;
    }
    .clearfix:after{
        content:"";
        display:block;
        clear:both;
    }
</style>
    <style>
        .box1 {
            width: 200px;
            border: 1px solid black;
        }
        
        .box2 {
            width: 100px;
            height: 100px;
            background: skyblue;
            float: left;
        }
        
        .clearfix {
            *zoom: 1;
        }
        
        .clearfix:after {
            content: "";
            display: block;
            clear: both;
        }
    </style>
</head>

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

CSS清除浮动的方法

上一篇:css如何实现鼠标移至图片上显示遮罩层及文字


下一篇:css学习记录2