热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

css浮动与清除浮动相关总结(附图解、实例)

标准流:浏览器按照各种元素标签排版布局中的默认状态,也就是没有被其他排版浮动和定位相关的css属性干扰的就叫标准流注意:当元素脱离标准

标准流:

浏览器按照各种元素标签排版布局中的默认状态,也就是没有被其他排版浮动和定位相关的css属性干扰的就叫标准流

注意:当元素脱离标准流以后,要对位置进行调整只能用px为单位,类似:margin:100px auto;设置100px有效,auto无效

float:none | left | right
默认值:none


  • none: 设置对象不浮动
  • left: 设置对象浮在左边
  • right:设置对象浮在右边

浮动的特性:

1,浮动的元素脱离标准流,不占原来的位置

2 , 浮动的元素会被改变显示方式

3,浮动的元素以顶部对齐

4,如果浮动的元素前面是标准流是元素,那么这个浮动的元素只会跟在标准流的后面
除非通过人为去改变才能让他的位置发生变化

5,当有包含关系时,如果有子元素浮动不会跑出父盒子除非人为改变,但是有一个特殊的,就是为哪个边为参考则跑不出哪个边

清除浮动

有时浮动会造成父盒子没有高度,而浮上来的盒子会盖住下面的盒子,清除浮动不是真正清除了浮动,而是清除浮动所造成的影响.

浮动造成影响的例子:
1、2、3是浮动的盒子,背景是后加的盒子,这样三个浮动的盒子影响了后加的盒子的正常显示

在这里插入图片描述
清除浮动的方式:
第一种:使用clear
第二种:有包含关系,给父元素加高度
第三种:在父盒子加overflow: hidden;
第四种:额外标签法
第五种:伪元素清除浮动(这是开发中最常用的,必须记住且要能手写出这段代码)


  1. 使用clear

语法:
clear:none | left | right | both
默认值:none
适用于:块级元素
继承性:无
取值:


  • none: 允许两边都可以有浮动对象
  • both: 不允许有浮动对象
  • left: 不允许左边有浮动对象
  • right:不允许右边有浮动对象

关于清除浮动对于设置了清除浮动的元素,它只能控制自己本身,而不能控制别人

例子:1、2、3都左边浮动的情况下对2进行clear:left的设置
此时:2左边不能有元素,所以2自己下来一格

在这里插入图片描述
Both时:不允许有浮动对象

在这里插入图片描述
说明:2号只能控制自己本身离开1号元素,三号自己跟着2号2号也没办法
解决方法:对3号元素设置clear:left;

在这里插入图片描述


  1. 有包含关系,给父元素加高度

如图:1、2、3浮动,将后加的盒子挡住了,此时将1、2、3嵌套进一个父盒子,并且设置父盒子与1、2、3同高度

在这里插入图片描述
加后效果:最大的盒子往下移了

在这里插入图片描述


  1. 在父盒子加overflow: hidden;

原理:触发了BFC


  1. 额外标签法

在这里插入图片描述
如图,在1、2、3标签后加一个块级,且标签中加上clear:both;
效果:

在这里插入图片描述


  1. 伪元素清除浮动

父元素的样式

.clearfix::after{content: "."; /*加点是浏览器兼容需要*/display: block; /*没加的话高度只有”.”撑开的高度,变成块级元素
的话高度就是子元素撑开的高度*/
visibility: hidden; /*隐藏“.”*/height: 0; /*使父元素的高度为子元素撑开*/line-height: 0;clear: both;}.clearfix{*zoom: 1; /*为了解决低版本的IE的清除浮动的使用*/}

效果:

在这里插入图片描述
京东官网的实例:

在这里插入图片描述


推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • CSS3 animation动画属性详解及用法
    本文详细介绍了CSS3 animation动画的各种属性及用法,包括关键帧动画、动画名称、动画时间、动画曲线、动画延迟、动画播放次数、动画状态和动画前后的状态等。通过本文的学习,读者可以深入了解CSS3 animation动画的使用方法。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 本文介绍了在HTML中实现表格的页眉页脚布局的解决方案。通过基本的HTML/CSS技术,避免使用内联样式和固定定位,实现了一个标准的页眉页脚布局。提供了一个替代的解决方案,为读者提供了参考。 ... [详细]
  • Java源代码安全审计(二):使用Fortify-sca工具进行maven项目安全审计
    本文介绍了使用Fortify-sca工具对maven项目进行安全审计的过程。作者通过对Fortify的研究和实践,记录了解决问题的学习过程。文章详细介绍了maven项目的处理流程,包括clean、build、Analyze和Report。在安装mvn后,作者遇到了一些错误,并通过Google和Stack Overflow等资源找到了解决方法。作者分享了将一段代码添加到pom.xml中的经验,并成功进行了mvn install。 ... [详细]
  • 本文介绍了CSS样式属性text-overflow、overflow、white-space、width的使用方法和效果。通过设置这些属性,可以实现文本溢出省略号、隐藏溢出内容、禁止换行以及限制元素宽度等效果。详细讲解了每个属性的作用和用法,以及常见的应用场景和注意事项。对于前端开发者来说,掌握这些CSS样式属性的使用方法,能够更好地实现页面布局和文本显示效果。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • 之前一直都知道css中的部分元素具有包裹性,今天写博客的时候正好也遇到了一个,所以想总结一下,有错误的地方欢迎指出来。什么是包裹性?包裹性就是父元素的宽度会收缩到和内部元素宽度一样 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文整理了Java中java.lang.NoSuchMethodError.getMessage()方法的一些代码示例,展示了NoSuchMethodErr ... [详细]
  • 本文整理了Java中com.evernote.android.job.JobRequest.getTransientExtras()方法的一些代码示例,展示了 ... [详细]
  • 本文整理了Java中org.apache.solr.common.SolrDocument.setField()方法的一些代码示例,展示了SolrDocum ... [详细]
  • 目前Miniconda3的主要版本已经不支持python3.6,以Windows为例,在官网Miniconda—Condadocumentation中只有python3.7 ... [详细]
  • 本文整理了Java中org.gwtbootstrap3.client.ui.Icon.addDomHandler()方法的一些代码示例,展示了Icon.ad ... [详细]
  • 本文整理了Java中org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc.getTypeInfo()方法的一些代码示例,展 ... [详细]
author-avatar
mobiledu2502891023
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有