热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

css高度塌陷_CSS浮动和清除浮动学习

什么是浮动?css浮动就是浮动元素会脱离文档的普通流并向左或右浮动,例子如下添加了浮动的盒子会进行左右排列在最初的设计初衷,浮动就是为了实
6698efa09de454a8e4bb5c36ee037de8.png

什么是浮动?

css浮动就是浮动元素会脱离文档的普通流并向左或右浮动,

例子如下

0927846bdb3aa8871c53a99c906930c9.png

添加了浮动的盒子会进行左右排列

在最初的设计初衷,浮动就是为了实现文字环绕效果

d820fd0440986300ba205eb29f3dc14f.png

浮动的特性

a.会脱离文档

来看个例子

a519f67a3f4f4b20180357b5ed28402e.png

如上图所示,在默认的情况下,块状元素会独占一行,子元素会上下排列,由于给子元素添加了浮动,脱离文档,不会影响普通元素的布局,左右进行排列,直到遇到下一个浮动元素,

总结:一旦元素浮动了,他将可以并排显示了,并且可以设置宽高了

b.没有任何的margin合并

先来看个例子

2dbd268be1d0fbaf9b385cb17b8e3e6e.png

如上图所示,在没有使用浮动的情况下,两个块级元素的margin会合并,按最大的那个进行设置,

d2768b3904a8a64953c23b9054e7ec73.png

如上图所示:给box2加了浮动之后,它们的margin值就不会合并了,

总结:如果想让两个块级元素的margin值合并,就给第二个块级元素加浮动即可

c.浮动元素有字围效果

上面已做介绍这里就不放案例了

总结:标准流中的文字不会被浮动的盒子遮住

d.导致高度塌陷

先来看个例子

665a29d114cac8629e6af80f0266c4c5.png

如图所示,父元素没了高度,默认情况下子元素会将父元素的高撑开,由于子元素加了浮动,导致了高度塌陷,

总结:当给子元素设置了浮动,父元素没有设置高度,父元素就会出现高度塌陷

写到这里,了解了什么是浮动以及浮动的特性,现在来看怎么清除浮动,也就是说怎么解决高度塌陷问题

clear清除浮动

属性值:clear:both

原理:在被清除浮动的元素上边或下边添加足够的清理空间

先来看个例子

7c3b96e53382382e03d5eaf9a03cef6b.png

如上图所示,在子元素盒子下面添加clear:both清除浮动,撑开了高度,这样就可以了

注:不要再子元素上清除浮动,如果这样会导致子元素掉下来

clear的不足

clear只能作用于块级元素,并且并不能解决后面元素可能发生的文字环绕问题

总结:clear清除浮动,就是给盒子增加clear:both;表示自己的内部元素,不受其他盒子的影响

BFC清除浮动

BFC全称:块级格式化上下文,也可以理解为:块级元素布局逻辑

BFC的特征:简单的说,它是一个隔离容器,和其他元素互不干扰,最主要的是BFC有“清除浮动”这一条特性,那么问题来了,怎么触发BFC呢?

BFC的触发方式

可以给父元素添加一下属性来触发BFC:

  • flaot 为 left / right
  • postion 为 absolute / fixed
  • display 为 inline-block | table | table-cell | table-caption | flex | inline-flex
  • overflow 为 hidden | auto | scroll
总结:我们给父元素加上以上属性就可以解决高度塌陷问题了,不过我们一般用的最多的是overflow:hidden,兼容性好一点,当然啦,BFC的应用不仅仅是清除浮动这么简单,它还可以实现“自适应两栏布局”以及上面所说的“防止margin上下重叠”问题

到这里,本章就结束啦!



推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 标题: ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • position属性absolute与relative的区别和用法详解
    本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 本文介绍了在HTML中实现表格的页眉页脚布局的解决方案。通过基本的HTML/CSS技术,避免使用内联样式和固定定位,实现了一个标准的页眉页脚布局。提供了一个替代的解决方案,为读者提供了参考。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • Tkinter Frame容器grid布局并使用Scrollbar滚动原理
    本文介绍了如何使用Tkinter实现Frame容器的grid布局,并通过Scrollbar实现滚动效果。通过将Canvas作为父容器,使用滚动Canvas来滚动Frame,实现了在Frame中添加多个按钮,并通过Scrollbar进行滚动。同时,还介绍了更新Frame大小和绑定滚动按钮的方法,以及配置Scrollbar的相关参数。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • mui框架offcanvas侧滑超出部分隐藏无法滚动如何解决
    web前端|js教程off-canvas,部分,超出web前端-js教程mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格 ... [详细]
  • 之前一直都知道css中的部分元素具有包裹性,今天写博客的时候正好也遇到了一个,所以想总结一下,有错误的地方欢迎指出来。什么是包裹性?包裹性就是父元素的宽度会收缩到和内部元素宽度一样 ... [详细]
author-avatar
zhou
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有