您现在的位置是:网站首页> 编程资料编程资料
CSS实现元素浮动和清除浮动的方法CSS 清除浮动与BFC的方法css overflow: hidden 的用法(溢出隐藏及清除浮动)Css实现清除浮动的方法汇总什么是BFC? CSS 使用伪元素清除浮动的方法轻松搞懂CSS浮动与清除浮动图文详解css 如何清除浮动的示例代码CSS清楚浮动clear:both的实例代码
2021-08-29
1767人已围观
简介 这篇文章主要介绍了CSS实现元素浮动和清除浮动的方法,简单介绍了浮动的基本知识,通过截图代码的形式给大家介绍了css清除浮动的方法,需要的朋友可以参考下
浮动基本介绍
- 在标准文档流中元素分为2种,
块级元素
和行内元素
,如果想让一些元素既要有块级元素的特点也同时保留行内元素特点,只能让这些元素脱离标准文档流即可。 - 浮动可以让元素脱离标准文档流,可以实现让多个元素排在同一行,并且可以设置宽高度。
- 其实浮动是通过
float
属性来实现的。 - float属性值说明表:
属性值 | 描述 |
---|---|
left | 设置元素向左浮动。 |
right | 设置元素向右浮动。 |
右浮动实践
- 让我们进入右浮动的实践,实践内容如:将
class
属性值为.box1
元素设置为右浮动。 - 在进入有浮动实践之前我们先看看要浮动元素结构是什么。
代码块
浮动
结果图
为什么结果图是一条边框线呢?因为在div
标签中还没有内容呢,现在我们将子div
标签设置宽高度为100px
像素并且添加背景颜色。
代码块
浮动
结果图
- 为什么会排列为3行呢,因为3个
div
标签都是块级元素。 - 现在我们将
class
属性值为.box1
的元素设置为右浮动。
代码块
浮动
结果图
注意:现在我们发现calss
属性值为.box
元素高度变矮了,这就说明了(浮动元素它已经脱离了标准文档流,不再占用空间了)、并且向右浮动,浮动到自身的父元素的边缘位置就停止了浮动。
左浮动实践
让我们进入左浮动的实践,实践内容如:将class
属性值为.box1
元素设置为左浮动。
代码块
浮动
结果图
- 我们先理解浮动的原理之后再解释下
class
属性值为.box2
元素看不见的原因。 - 现在笔者给大家看2张实践结果图如:
结果图A
结果图B
- 通过这2张结果图我们可以把浮动简单的理解为“漂”举例:
- 假设
class
属性值为.box
是一个池塘,3
个子元素都是能够漂浮在池塘水面上的东西,现在我们将calss
属性值为.box1
元素浮动起来,漂在池塘水面上,是不是就不再占用池塘内的空间了。 - 既然我们理解为“漂”它一定是漂浮在池塘水面之上,但是没有浮动的元素在池塘水面之内,所以
class
属性值为.box2
元素看不见,并不代表它不存在只是被class
属性值为.box1
元素给遮挡住了,现在我们将class
属性值为.box2
元素宽度设置为150px
像素。
代码块
浮动
结果图
注意:事实证明class
属性值为.box2
元素是存在的。
下面我们将calss
属性值为.box2
元素设置为左浮动看看有什么不一样的效果
代码块
浮动
结果图
- 但是
class
属性值为.box2
的元素左浮动并没有左浮动到本身父元素的边缘位置,为什么在class
属性值为.box1
后面呢?因为父元素已经有了浮动的子元素后面的子元素在浮动就浮动到前面浮动的元素之后。 - 现在我们将
class
属性值为.box3
的元素设置为左浮动,看看有什么不一样的效果。
代码块
浮动
结果图
注意:浮动元素浮动以后,其父元素不再将浮动的子元素包裹在父元素之内,所以结果图出现一条黑色的边框线,若有不明白的看第一个实践内容。
将行内元素设置浮动
- 如果我们给行内元素设置了浮动,行内元素就拥有了块级元素的特点。
- 让我们进入行内元素设置浮动实践,实践内容如:将
div
标签中的span
标签设置为左浮动。 - 在设置左浮动之前我们先看看给
span
标签设置宽高度和背景颜色有什么效果。
代码块
浮动 微笑是最初的信仰1微笑是最初的信仰2微笑是最初的信仰3
结果图
- 现在发现我们给
span
标签设置了宽高度为100px
像素并没有生效,因为现在span
标签还是行内元素。 - 现在我们给
span
标签设置左浮动,然后我们在看看效果如何。
代码块
浮动 微笑是最初的信仰1微笑是最初的信仰2微笑是最初的信仰
结果图
注意:行内元素设置为浮动之后就拥有了块级元素的特点。
设置浮动总结
- 浮动的特点如:
- 浮动元素脱离了标准的文档流,不再占用父元素的任何空间。
- 浮动元素比标准文档流的元素层级要高,会将标准文档流的元素遮挡住。
- 浮动元素会向左浮动或向右浮动。浮动元素会遇到父元素的边缘就停止了浮动。
- 浮动元素会遇到已经有了浮动的元素,后者会浮动到前者之后就停止了浮动。
- 浮动元素浮动之后就脱离了父元素,并且父元素不再包裹浮动的元素。
- 行内元素设置为浮动,就拥有了块级元素的特点。
为什么要清除浮动呢?
- 因为浮动的元素会影响到下面元素,具体看实践结果图大家就明白了。
class
属性值为.box
元素的子类元素没有浮动前的效果实践。
代码块
清除浮动 清除浮动
结果图
class
属性值为.box
元素的子元素左浮动之后影响到下面的元素排版布局实践。
代码块
浮动 清除浮动
结果图
现在大家应该明白了为什么要清除浮动了,有浮动就必须清除浮动,因为上面的元素设置了浮动就会影响到下面元素排版布局。
清除浮动有3种方式
第一种方式
- 给浮动的元素父元素设置一个固定的高度,从视觉上看到浮动的元素在父元素包裹之内。
- 我们给浮动元素的父元素设置一个固定
600px
像素的高度,一起来看看效果如何。
代码块
清除浮动 清除浮动
结果图
这样是解决了下面元素排版布局问题,但是笔者不推荐这么做,因为高度是由子元素的内容撑起来的高度,而不是我们给的固定高度。
第二种方式
其实在CSS
中也有清除浮动的属性,清除浮动属性名为clear。
clear属性值说明表
属性值 | 描述 |
---|---|
left | 清除左侧浮动元素。 |
right | 清除右侧浮动元素。 |
both | 清除左右侧浮动元素。 |
- 要使用这个clear属性必须创建一个新的div元素,创建新的
div
元素不能放置任何内容,它只能做一个件事情,那就是清除浮动并且将这个新创建的div
元素放在最后一个浮动元素的后面才会生效。 - 左右清除浮动的属性值笔者在这里就不一一实践了,一般我们就用
both
属性值就可以了,左右清除浮动,干嘛还要计较它是左浮动或右浮动呢,直接清除左右浮动就ok
了。 - 具体的看我们实践的结果图。
代码块
清除浮动 清除浮动
结果图
注意:这才是我们真正想要的结果,并且从视觉上来看浮动的元素包裹在父元素之内的效果。
第三种方式
- 使用属性为
overflow
并且属性值为hidden
来清除浮动,必须将这个属性设置在浮动元素的父元素身上。 - 给大家普及下属性为
overflow
并且属性值为hidden
,它原意是用来将溢出的部分内容进行隐藏,但是它还可以清除浮动。 - 笔者先将内容溢出然后在隐藏溢出的内容,那我们一起来看看呗。
代码块
溢出内容进行隐藏 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。
结果图
下面笔者将溢出的内容进行隐藏。
代码块
溢出内容进行隐藏 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。 微笑是最初的信仰,微笑是最初的信仰,微笑是最初的信仰。
结果图
- 使用属性为
overflow
并且属性值为hidden
来清除浮动。 - 清除浮动之前我们先看看结构是如何的。
代码块
清除浮动
- 微笑是最初的信仰1
- 微笑是最初的信仰2
- 微笑是最初的信仰3
- 微笑是最初的信仰4
- 微笑是最初的信仰5
- 微笑是最初的信仰6
- 微笑是最初的信仰7
- 微笑是最初的信仰8
结果图
注意:在这里笔者还没有给浮动元素清除浮动呢,大家可以明显的看到ul
标签高度为0
。
清除浮动实践
代码块
清除浮动
- 微笑是最初的信仰1
- 微笑是最初的信仰2
- 微笑是最初的信仰3
- 微笑是最初的信仰4
- 微笑是最初的信仰5
- 微笑是最初的信仰6
- 微笑是最初的信仰7
- 微笑是最初的信仰8
结果图
现在我们很清楚的看到ul
标签高度为23px
像素,为什么要使用:属性为overflow
并且属性值为hidden
来清除浮动,因为ul
标签中只能使用li
标签元素不能使用其它元素,所以属性为overflow
并且属性值为hidden
来清除浮动是最好不过啦。
总结
以上所述是小编给大家介绍的CSS实现元素浮动和清除浮动的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关内容
- 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实现文字颜色渐变的三种方法
- css自定义属性和聚光灯效果的实现最新Edge浏览器将支持CSS自定义属性深入解析CSS中的自定义属性css如何实现自定义更为美观的链接提示效果初步认识css自定义属性