CSS clear 清除浮动的原理

       在理解这个之前,请先记住一句话:“float是魔鬼,会影响其他相邻元素;但是clear是小白,其只会影响自身,不会对其他相邻元素造成影响!”---来自张鑫旭

clear 用法:

w3.org官方的解释是:「元素盒子的边不能和前面的浮动元素相邻」。

总结:

设置了 clear 的元素只能通过调整自身来使自己不要和浮动元素排列在一起。

比如说,如果一个元素同时设置了 float:left 和 clear:left,希望左边不要有浮动元素,那么这个元素就要调整自己,排到下一行去。因为设置了 float: left,这个元素会往左边靠拢,所以这个元素会跑到下一行,同时往左浮动

如果设置了clear: right,也无法清除右边的元素。因为元素只能调整自身,不能移动别的元素。所以右边即使有浮动元素,也无法清除。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <style type="text/css">

        .a{
            height:50px;
            width:50px;background-color:red;
            float:left;
        }

        .b{
            height:100px;
            width:20px;
            background-color:yellow;
            float:left;

        }

        .c{height:100px;
            width:20px;
            background-color:blue;
            float:left
        }

    </style>
</head>

<body>
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_41796631/article/details/89425006
今日推荐