700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > CSS中clear“清除浮动”的作用原理

CSS中clear“清除浮动”的作用原理

时间:2024-05-22 22:27:52

相关推荐

CSS中clear“清除浮动”的作用原理

CSS中clear“清除浮动”的作用原理

之前看视频中,总听到说clear不是清除浮动,而是消除浮动带来的影响,纠结了一天,没有理解,现在终于能明白这是什么意思了。

下面直接用代码和运行结果说明

HTML代码和CSS代码:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>float</title><link href="float.css" rel="stylesheet" type="text/css"></head><body><div class="main"><div class="box1">1</div><div class="box2">2</div><div class="clear">clear</div></div><div class="box3">3</div></body></html>

.box1{width: 200px;height: 300px;background-color: chocolate;/*float: left;*//*margin: 20px;*/}.box2{width: 200px;height: 200px;background-color: cornflowerblue;float: left;}.clear{/*float: left;*//*clear: left;*/width: 200px;height: 300px;background-color: darkseagreen;float: right;/*clear:left;*/}.box3{height: 200px;background-color: cyan;}

以上代码的运行结果如图1:

运行结果说明:

由于2(蓝色)设置了向左浮动:float:left,会“脱标”,在文档流中不再占有位置;3(青色)会忽视2而直接紧跟着1;clear(绿色)设置了向右浮动:float:right;如果2没有设置向左浮动,则3会紧跟着2下面往下排列,而clear由于设置了向右浮动,和3的相对位置仍然如图,即会随着3一起往下移动一个2的高度,代码(html和之前是一样的,不再展示)和效果如下:

.box1{width: 200px;height: 300px;background-color: chocolate;/*float: left;*//*margin: 20px;*/}.box2{width: 200px;height: 200px;background-color: cornflowerblue;/*!*float: left;*!取消2的向左浮动*/}.clear{/*float: left;*//*clear: left;*/width: 200px;height: 300px;background-color: darkseagreen;float: right;/*clear:left;*/}.box3{height: 200px;background-color: cyan;}

效果如图2(绿色还有一部分高度没有展示出来)

由于2设置浮动,则对3和clear产生了影响,使得他们的位置如图1所示,而不是如图2,现在如果想消除这种浮动对cleard的影响,则在clear中添加clear:left或者clear:both即可,因为2中设置的是左浮动,故消除这种浮动是clear:left或者clear:both(包含了left)即消除2的左浮动对clear的影响,代码和效果如下:

.box1{width: 200px;height: 300px;background-color: chocolate;/*float: left;*//*margin: 20px;*/}.box2{width: 200px;height: 200px;background-color: cornflowerblue;float: left;}.clear{/*float: left;*//*clear: left;*/width: 200px;height: 300px;background-color: darkseagreen;float: right;clear:left;/*清除左浮动*/}.box3{height: 200px;background-color: cyan;}

效果如下图3

clear跑到了2的下面,如图2中的位置一样,好像2没有设置浮动一样,但是由于2的浮动对3的影响并没有消除,故3的位置仍如图1所示,2是浮在3的上面

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。