您现在的位置是:网站首页> 编程资料编程资料
深度理解CSS clear:both的使用CSS——float属性及Clear:both备忘笔记清除浮动clear:both的应用详解-CSS教程-网页制作-网页教学网
2021-08-29
1606人已围观
简介 这篇文章主要介绍了深度理解CSS clear:both的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
clear:both用来清除浮动这是一直来的印象,但是自己很少会用这个,理解其实也不太正确,今天查查了资料,记录一下
float的脱离文档流
float的原始作用是为了实现文字环绕的作用,可以理解为部分脱离文档流。
CSS中说脱离文档流是指盒子从普通的布局排版中拿出来,其他盒子进行放置时,会当其不存在而进行布局。而脱离文档流分为两种
- 完全脱离文档流:例如
position:absolute,使用绝对定位的盒子,其他盒子无论是其本身还是里面的任何元素都会无视这个绝对定位的盒子进行布局。 - 部分脱离文档流:即
float盒子,使用float属性后,其他block盒子会无视float盒子进行布局,但是其他盒子内的inline元素和inline-block元素依旧会为这个浮动的盒子让出位置。
clear:both
clear:both是作用于添加属性的盒子本身的在一个盒子上添加
clear:both意味着这个盒子的顶边框将会低于在它之前的任何浮动盒子的底外边距。
所以clear:both并不是清除浮动,而是清除浮动所造成的影响,浮动的盒子依旧是部分脱离文档流的。
而clear的取值是left还是right,在我看来是取决于想要低于的那个浮动盒子的浮动方向。而both的取值,则会低于所有在在它之前的任何浮动盒子
清除影响的例子
我们设置三个盒子A、B、C
当三个盒子都左浮动是时:

C设置不浮动时:

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

可以看到,B本身造成的浮动影响被清除了,他的顶边框在任何在他之前的浮动盒子的底部之下,但是没有浮动的盒子C仍然在AB的下边,其中的字体为浮动的盒子让出了位置。
给父盒子添加伪元素::after
现在,我们用一个div(class:box)包裹住ABC三个盒子,在box之外添加一个盒子out,其中ABC、out全部设置了浮动。现在他们长这样:

去掉out的浮动:

这是理所当然的。
给box添加一个伪元素
.box::after{ clear: both; height:10px; width:10px; background:yellow; display: block; content: ""; }
现在外盒子out的浮动影响被清除了,但是这不是因为clear:both清除了浮动,而是因为after伪元素本身的浮动影响清除了,它现在处于任何在它之前的浮动盒子的下面,这也使得box的高度不再塌陷,所以out现在只是处于box下面,这是正常的文档流。
## 结束
这是一个CSS的基础知识点,但是一直没有认真看过,这次整理了一下,如果有错误的话,请看到这篇小文的大佬们指正。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- CSS实现元素浮动和清除浮动的方法CSS 清除浮动与BFC的方法css overflow: hidden 的用法(溢出隐藏及清除浮动)Css实现清除浮动的方法汇总什么是BFC? CSS 使用伪元素清除浮动的方法轻松搞懂CSS浮动与清除浮动图文详解css 如何清除浮动的示例代码CSS清楚浮动clear:both的实例代码
- CSS flex-basis 文本溢出问题的解决css多行文本溢出时出现省略号的示例纯CSS定制文本省略的方法大全CSS实现单行、多行文本溢出显示省略号的实现方法css实现文本溢出显示省略号CSS实现限制字数功能当对象内文本溢出时显示省略标记用css截取字符实现文字自动截断隐藏溢出文本css实现li中文本超出行宽自动隐藏兼容IE和FF的单行溢出文本显示省略号-CSS教程-网页制作-网页教学网
- 纯CSS实现数字加减按钮的最佳方案CSS3实现紫色发光按钮悬停特效基于CSS 属性实现按钮悬停边框和背景动画集合CSS实现鼠标移动到图片或按钮上改变大小的方法示例CSS实现菜单按钮动画css 单选按钮图标替换的方法纯css实现Material Design中的水滴动画按钮
- postcss-pxtorem移动端适配的实现吃透移动端 1px的具体用法移动端适配 使px自动转换remHtml5移动端适配IphoneX等机型的方法浅谈移动端适配大法html5实现移动端适配完美写法详解如何使用rem或viewport进行移动端适配
- 详解八种方法实现CSS页面底部固定css实现背景渐变与底部固定的蓝天白云示例div footer标签css实现位于页面底部固定
- 用css完成根据子元素不同书写样式的方法CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- CSS3改变浏览器滚动条样式详解css3自定义滚动条样式写法CSS3自定义滚动条样式的示例代码CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
- 浅谈CSS3 动画卡顿解决方案CSS3实现超慢速移动动画效果非常流畅无卡顿
- 纯CSS3实现漂亮的input输入框动画样式库(Text input love)HTML中利用div+CSS实现简单的箭头图标的代码css 11种方法实现一个tips带有描边的小箭头css实现带箭头和圆点的轮播可自定义箭头样式的CSS3气泡提示框CSS3制作可自定义配置箭头的气泡提示框效果源码基于CSS实现带阴影和小箭头的黑色风格下拉菜单效果CSS实现让同一行文字和输入框对齐的方法利用HTML、CSS 实现带表情的评论框的制作教程CSS实现带箭头的提示框效果【示例代码】
- CSS3下的渐变文字效果实现示例css 进度条的文字根据进度渐变的示例代码css3实现文字扫光渐变动画效果的示例CSS3文字背景色渐变过渡特效源码CSS实现文字高光水波渐变的动态效果实例一款纯css3实现的颜色渐变按钮的代码教程使用CSS3的背景渐变Text Gradient 创建文字颜色渐变CSS 网页文字渐变效果css实现文字颜色渐变的三种方法
