clear:both属性怎么在CSS中使用

发布时间:2021-03-22 17:50:18 作者:Leah
来源:亿速云 阅读:242

这篇文章给大家介绍 clear:both属性怎么在CSS中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

clear:both用来清除浮动这是一直来的印象,但是自己很少会用这个,理解其实也不太正确,今天查查了资料,记录一下

float的脱离文档流

float的原始作用是为了实现文字环绕的作用,可以理解为部分脱离文档流。

CSS中说脱离文档流是指盒子从普通的布局排版中拿出来,其他盒子进行放置时,会当其不存在而进行布局。而脱离文档流分为两种

clear:both

clear:both是作用于添加属性的盒子本身的

在一个盒子上添加clear:both意味着这个盒子的顶边框将会低于在它之前的任何浮动盒子的底外边距

所以clear:both并不是清除浮动,而是清除浮动所造成的影响,浮动的盒子依旧是部分脱离文档流的。

而clear的取值是left还是right,在我看来是取决于想要低于的那个浮动盒子的浮动方向。而both的取值,则会低于所有在在它之前的任何浮动盒子

清除影响的例子

我们设置三个盒子A、B、C

当三个盒子都左浮动是时:

clear:both属性怎么在CSS中使用

C设置不浮动时:

clear:both属性怎么在CSS中使用

给B添加clear:both/clear:left:

clear:both属性怎么在CSS中使用

可以看到,B本身造成的浮动影响被清除了,他的顶边框在任何在他之前的浮动盒子的底部之下,但是没有浮动的盒子C仍然在AB的下边,其中的字体为浮动的盒子让出了位置。

给父盒子添加伪元素::after

现在,我们用一个div(class:box)包裹住ABC三个盒子,在box之外添加一个盒子out,其中ABC、out全部设置了浮动。现在他们长这样:

clear:both属性怎么在CSS中使用

去掉out的浮动:

clear:both属性怎么在CSS中使用

这是理所当然的。

给box添加一个伪元素

.box::after{
  clear: both;
  height:10px;
  width:10px;
  background:yellow;
  display: block;
  content: "";
}

clear:both属性怎么在CSS中使用

现在外盒子out的浮动影响被清除了,但是这不是因为clear:both清除了浮动,而是因为after伪元素本身的浮动影响清除了,它现在处于任何在它之前的浮动盒子的下面,这也使得box的高度不再塌陷,所以out现在只是处于box下面,这是正常的文档流。

关于 clear:both属性怎么在CSS中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. markdownpad2自定义github-css风格
  2. CSS基础面试题及答案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css clear:both

上一篇:怎么在Python中分别输出每个数组

下一篇:怎么在Pandas中使用Series方法绘制图像

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》