其他分享
首页 > 其他分享> > 06.clear

06.clear

作者:互联网

<!DOCTYPE html>
<html lang="en">
<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>
        div{
            font-size:50px;
        }

        .box1{
            width:200px;
            height:200px;
            background-color: #bfa;
            /* float:left; */
            /* 3这个文字不会动,因为文字会自动环绕在浮动元素周围 */
        }

        .box2{
            width:400px;
            height:400px;
            background-color: #ff0;
            /* float:right; */
        }

        .box3{
            width:200px;
            height:200px;
            background-color: orange;
            /* 
                由于box1的浮动,导致box3位置上移
                也就是box3受到了box1浮动的影响,位置发生了改变

                如果我们不希望某个元素因为其他元素浮动的影响而改变位置,
                可以通过clear属性来清除浮动元素对当前元素所产生的影响
             
                clear
                    - 作用:清除浮动元素对当前元素所产生的影响
                    - 可选值:
                        left 清除左侧浮动元素对当前元素的影响
                        right 清除右侧浮动元素对当前元素的影响
                        both 清除两侧中最大影响的那侧(较大侧) 

                    - 原理:
                        设置清除浮动以后,浏览器会自动为元素添加一个上外边距,
                        以使其位置不受其他元素的影响
                        */
                /* clear:left; */
                /* 
                    box1依然浮动,只是box3不再受box1的影响
                    box3的margin-top被设置为200px
                */
                /* clear:right; */
                /* margin-top为400px */
                /* clear:both; */
                /* 若box2的height为150px,则会清除box1的影响,即margin-top为200px */
        }
    </style>
</head>
<body>
    <div class="box1">1</div>
    <div class="box2">2</div>
    <div class="box3">3</div>
</body>
</html>

.box1{
    float:left;
}

.box2{
    float:right;
}
/* 如果觉得不好理解,可以想想如果box2 float:left */

.box1{
    float:left;
}

.box2{
    float:right;
}

.box1{
    float:left;
}

.box2{
    float:right;
}

.box3{
    clear:left;
}

 

.box1{
    float:left;
}

.box2{
    float:right;
}

.box3{
    clear:right;
}

.box1{
    float:left;
}

.box2{
    float:right;
}

.box3{
    clear:both;
}

和上张图一致

.box1{
    float:left;
}

.box2{
    height:150px;
    float:right;
}

.box3{
    clear:both;
}

标签:right,06,clear,float,box2,box1,left
来源: https://www.cnblogs.com/sherryyuan/p/16391093.html