天天看點

CSS之Clear屬性

元素的clear屬性:

box1向左浮動,脫離文檔流(不再占用位置),box2将自動向上移動,位置發生了改變

如果不想讓下邊的元素的位置發生改變

為了解決這個問題:可以設定元素的clear屬性:

清除浮動元素對目前元素的位置的影響

clear:

作用:清除浮動元素對目前元素的影響

可選值;

left:清除左側浮動元素對目前元素的影響

right:清除右側浮動元素對目前元素的影響

both:清除左/右兩側浮動元素對目前元素的影響

原理:設定了clear屬性後,浏覽器會自動為目前元素(塊元素)添加上外邊距

以使目前元素不再發生移動

Demo:

<!DOCTYPE html>
<html >
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>clear屬性</title>
    <style>
        .box1{
            width:200px;
            height:200px;
            background-color: cadetblue;
            /* 設定向左浮動*/
            float: left;
            
        }

        .box2{
            width:400px;
            height:400px;
            background-color:crimson;
            float: right;
            
        }

        .box3{
            width:200px;
            height:200px;
            background-color:chartreuse;
            /*設定clear屬性:使其位置不受左側浮動元素的影響 */
            /* clear: left; */
            /*設定clear屬性:使其位置不受右側浮動元素的影響 */
            /* clear: right; */
            /* clear: both; */
        }

    </style>
</head>
<body>
    <div class="box1">1</div>
    <div class="box2">2</div>
    <div class="box3">3</div>
</body>
</html>