不少小伙伴在防止高度坍塌时都会在浮动元素后面写入一个div,再在里面写入clear:both属性来清除浮动。那么今天就在此探究一下clear:both的工作原理。
先说一下clear:both的作用 -----不允许周围有浮动现象。
接下来直接上代码

`<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>#box {height: 500px;width: 1300px;background-color: cornflowerblue;float: right;}.father {border: solid 1px pink;}.son1 {width: 200px;height: 200px;background-color: powderblue;float: left;}.son2 {clear: both;}</style>
</head><body><div class="father"><div class="son1"></div><div class="son2"></div><div class="son3"></div></div>
</body></html>`

在这里我们给son1加入了浮动,给son2清除了浮动。想而易见,效果就会变成这样

那么为什么在浮动元素后面的div加入clear:both属性就可以清除浮动呢。
按照定义,写入了clear both的元素不再允许周围有浮动的元素产生,所以son1对于Son2也就失去了浮动的效果,son1对于son2来说也就有了高度,son2就会位于son1的下面,son2的位置也就撑起了父级元素的高度,解决了高度坍塌的问题。

关于css中clear:both清除浮动防止父级元素高度坍塌的原理相关推荐

  1. html去掉父元素样式,CSS清除浮动使父级元素展开的三个方法

    一个没有设置高度的容器div内如果存在浮动元素(即使用了属性float:left或者float:right),那么该父级元素会无法展开. 为了使父级元素展开,有三种方法: 第一:设置父级元素的高度,但 ...

  2. php里清除浮动代码,CSS中使用clearfix清除浮动的方法

    首先在很多很多年以前我们常用的清除浮动是这样的. CSS Code复制内容到剪贴板 .clear{clear:both;line-height:0;} 现在可能还可以在很多老的站点上可以看到这样的代码 ...

  3. CSS的clear去除清除浮动元素

    clear 属性规定元素的哪一侧不允许其他浮动元素 left 在左侧不允许浮动元素. right 在右侧不允许浮动元素. both 在左右两侧均不允许浮动元素. none 默认值.允许浮动元素出现在两 ...

  4. 解决子级用css float浮动 而父级div没高度不能自适应高度

    当在对象内的盒子使用了float后,导致对象本身不能被撑开自适应高度,这个是由于浮动产生原因. 方法一:对父级设置固定高度 此方法可用于能确定父级div内子级对象高度. 缺点: 父级是固定高度,而不随 ...

  5. CSS中clear“清除浮动”的作用原理

    CSS中clear"清除浮动"的作用原理 之前看视频中,总听到说clear不是清除浮动,而是消除浮动带来的影响,纠结了一天,没有理解,现在终于能明白这是什么意思了. 下面直接用代码 ...

  6. 一篇文章带你了解CSS clear both清除浮动

    一.前言 CSS clear both清除产生浮动 ,使用了css float浮动会产生css浮动,这个时候就需要清理清除浮动,就用clear样式属性即可实现. 二.clear语法与结构 1. cle ...

  7. html clear属性值,CSS clear both清除浮动

    DIV+CSS clear both清除产生浮动 我们知道有时使用了css float浮动会产生css浮动,这个时候就需要清理清除浮动,我们就用clear样式属性即可实现. 接下来我们来认识与学习cs ...

  8. CSS中clear属性的both、left和right浅析

    前端开发中,我们知道clear属性有none.both.left和right四个值. 它们的具体含义如下: none:允许两边都可以有浮动对象: both:不允许有浮动对象; left:不允许左边有浮 ...

  9. css中clear的作用是什么?

    clear : none | left | right | both. 对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素. 清除浮动方法, 1,给父 ...

最新文章

  1. context.xml mysql_在tomcat下context.xml中配置各种数据库连接池(示例代码)
  2. 从新手到入门,如何进入协议分析的世界
  3. 撒花!PyTorch 官方教程中文版正式上线,激动人心的大好事!
  4. 关于modelsim 6.4a遇到的问题
  5. oracle pl/sql 包
  6. 第三十四章 批量印刷书籍
  7. java esclient query_elasticsearch 口水篇(4)java客户端 - 原生esClient
  8. db2 查看表结构_数据库结构文档的生成利器
  9. OAuth 2 开发人员指南(Spring security oauth2)
  10. mysql front不能上到_mysqlfront不能上到Mysql服务器连接quot;192.168.5.*_MySQL
  11. lua脚本PHP加密网站源码,【几维安全】lua脚本加密,lua代码加密使用说明
  12. 保持积极向上的人生格言
  13. AQS: CLH 介绍
  14. 二次开发手册——百家CMS微商城说明文档(5)
  15. 深入浅出强化学习:原理入门(待更新)
  16. 西妥昔单抗丨艾美捷西妥昔单抗Cetuximab方案
  17. 有效数字修约,按四舍六入五成双原则
  18. 最全-python教程示例大全 同步学习
  19. 卫生专业计算机考试,快熟悉一下2019卫生专业技术资格考试人机对话系统
  20. JAVA简易贪吃蛇游戏实现

热门文章

  1. Python+Vue计算机毕业设计个人博客网站hsvav(源码+程序+LW+部署)
  2. Linux Mint 安装后常规配置
  3. 《重构-改善既有代码的设计》第二章
  4. C/C++文件读写操作总结:FILE*、fstream、windowsAPI
  5. pandas中的read_csv参数详解
  6. 拉线位移编码器测量出来不准确是哪几个原因造成的?
  7. 网贷羊毛党凶猛:17家平台投资转化率仅13%
  8. C++的File类文件操作
  9. 鞋业erp系统主要子系统划分
  10. Linux开发心得总结10 - MIPS TLB 的结构(translated)