在研究div浮动的时候,发现div在浮动的时候不仅仅会让父元素的高度塌陷,还会影响到其他的盒子(如图三个盒子)

.father{width: 500px;height:300px;margin:0 auto;border: 2px solid red;}.son1,.son2,.son3{width: 100px;height: 100px;text-align: center;line-height: 100px;font-size: 20px;}.son1{background-color:skyblue;}.son2{background-color: purple;}.son3{background-color: pink;}
<div class="father"><div class="son1">son1</div><div class="son2">son2</div><div class="son3">son3</div></div>

分成三种大情况来讨论就是:(假设用三个相同的盒子设置不同的浮动效果)
(一)只有一个盒子浮动
(二)只有两个盒子浮动
(三)三个盒子都浮动

列举如下:

(一)只有一个盒子浮动

1.1 第一个盒子左浮动

.son1{background-color:skyblue;float: left;}


效果:第一个盒子左浮动后导致高度塌陷,第二个盒子向上挤,盒子挤上去了但是内容没有上去,第三个盒子和内容挤上到了第二个盒子的位置

1.2 第一个盒子右浮动

.son1{background-color:skyblue;float: right;}


效果:第一个盒子右浮动后,父元素高度塌陷,第二个盒子带着内容向上挤到靠近父元素的位置停止,第三个盒子跟在第二个盒子后面向上挤。

1.3 第二个盒子左浮动

.son2{background-color: purple;float: left;}


效果:第一个盒子不动且独占一行,第二个盒子左浮动后,高度塌陷,第三个盒子挤上去,但是内容挤不上去。

1.4 第二个盒子右浮动

.son2{background-color: purple;float: right;}


效果:第一个盒子不动且独占一行,第二个盒子浮动到右边造成高度塌陷,第三个盒子带着内容向上挤。

1.5 第三个盒子左浮动

.son3{background-color: pink;float: left;}


效果:第一个盒子和第二个盒子不动且各自独占一行,第三个盒子左浮动

1.6 第三个盒子右浮动

.son3{background-color: pink;float: right;}


效果:第一个盒子和第二个盒子不动且各自独占一行,第三个盒子右浮动

(二)只有两个盒子浮动

2.1 第一个盒子左浮动,第二个盒子左浮动

.son1{background-color:skyblue;float: left;}.son2{background-color: purple;float: left;}


效果:第一个盒子左浮动,第二个盒子左浮动后并排紧靠,由于浮动造成高度的塌陷,第三个盒子向上挤,但是内容没有上去。

2.2 第一个盒子左浮动,第三个盒子左浮动

.son1{background-color:skyblue;float: left;}.son3{background-color: pink;float: left;}


效果:第一个盒子左浮动造成高度塌陷,第二个盒子向上挤且独占一行但是内容留下,第三个盒子向上挤,停在第二个盒子下面内容与留下的第二个盒子重合。

2.3 第一个盒子左浮动,第二个盒子右浮动

.son1{background-color:skyblue;float: left;}.son2{background-color: purple;float: right;}


效果:第一个盒子左浮动,第二个盒子右浮动去了右边,浮动造成高度塌陷,第三个盒子向上挤,内容没办法挤上去。

2.4 第一个盒子左浮动,第三个盒子右浮动

.son1{background-color:skyblue;float: left;}.son3{background-color: pink;float: right;}


效果:第一个盒子左浮动造成高度塌陷,第二个盒子向上挤独占一行,内容没有上去,第三个盒子只能在第二个盒子下面进行右浮动。

#### 2.5 第一个盒子右浮动,第二个盒子左浮动

.son1{background-color:skyblue;float: right;}.son2{background-color: purple;float: left;}


效果:第一个盒子右浮动,第二个盒子左浮动,浮动造成的内容塌陷,第三个盒子向上挤,内容没有挤上去。

2.6 第一个盒子右浮动,第三个盒子左浮动

.son1{background-color:skyblue;float: right;}.son3{background-color: pink;float: left;}


效果:第一个盒子右浮动造成高度塌陷,第二个盒子向上挤,内容也挤上去了且独占一行,第三个盒子只能在第二个盒子下面左浮动。

#### 2.7 第一个盒子右浮动,第二个盒子右浮动

.son1{background-color:skyblue;float: right;}.son2{background-color: purple;float: right;}


效果:第一个盒子和第二个盒子进行右浮动后并排紧靠且高度塌陷,第三个盒子向上挤,内容也挤上去了。

2.8 第一个盒子右浮动,第三个盒子右浮动

.son1{background-color:skyblue;float: right;}.son3{background-color: pink;float: right;}


效果:第一个盒子右浮动后高度塌陷,第二个盒子和内容向上挤了上去且独占一行,第三个盒子只能在第二个盒子下面右浮动。

2.9 第二个盒子左浮动,第三个盒子左浮动

.son2{background-color: purple;float: left;}.son3{background-color: pink;float: left;}


效果:第一个盒子不动且独占一行,第二个盒子和第三个盒子左浮动并排紧靠。

2.10 第二个盒子左浮动,第三个盒子右浮动

.son2{background-color: purple;float: left;}.son3{background-color: pink;float: right;}


效果:第一个盒子不动且独占一行,第二个盒子左浮动靠左,第三个盒子右浮动靠右。

2.11 第二个盒子右浮动,第三个盒子右浮动

.son2{background-color: purple;float: right;}.son3{background-color: pink;float: right;}

效果:第一个盒子不动且独占一行,第二个盒子和第三个盒子右浮动并排紧靠,且第二个盒子在第三个盒子的右边。

2.12 第二个盒子右浮动,第三个盒子左浮动

.son2{background-color: purple;float: right;}.son3{background-color: pink;float: left;}


效果:第一个盒子不动且独占一行,第二个盒子右浮动,第三个盒子左浮动。

(三)三个盒子都浮动

3.1 第一个盒子左浮动,第二个盒子左浮动,第三个盒子左浮动

.son1{background-color:skyblue;float: left;}.son2{background-color: purple;float: left;}.son3{background-color: pink;float: left;}


效果:第一、二、三个盒子左浮动后并排紧靠。

3.2 第一个盒子左浮动,第二个盒子左浮动,第三个盒子右浮动

.son1{background-color:skyblue;float: left;}.son2{background-color: purple;float: left;}.son3{background-color: pink;float: right;}


效果:第一、二个盒子左浮动后并排紧靠,第三个盒子右浮动和他们并排不紧靠。

3.3 第一个盒子左浮动,第二个盒子右浮动,第三个盒子右浮动

.son1{background-color:skyblue;float: left;}.son2{background-color: purple;float: right;}.son3{background-color: pink;float: right;}


效果:第一个盒子左浮动和他们并排不紧靠,第二、三个盒子右浮动后并排紧靠。

3.4 第一个盒子左浮动,第二个盒子右浮动,第三个盒子左浮动

    .son1{background-color:skyblue;float: left;}.son2{background-color: purple;float: right;}.son3{background-color: pink;float: left;}


效果:第一、三个盒子左浮动后并排紧靠,第二个盒子右浮动和它们并排不紧靠。

3.5 第一个盒子右浮动,第二个盒子右浮动,第三个盒子右浮动

.son1{background-color:skyblue;float: right;}.son2{background-color: purple;float: right;}.son3{background-color: pink;float: right;}


效果:第一、二、三个盒子并排紧靠。但是顺序是从右向左一、二、三

3.6 第一个盒子右浮动,第二个盒子右浮动,第三个盒子左浮动

    .son1{background-color:skyblue;float: right;}.son2{background-color: purple;float: right;}.son3{background-color: pink;float: left;}


效果:第一、二盒子并排紧靠,第三个盒子左浮动和它们并排不紧靠。

3.7 第一个盒子右浮动,第二个盒子左浮动,第三个盒子左浮动

    .son1{background-color:skyblue;float: right;}.son2{background-color: purple;float: left;}.son3{background-color: pink;float: left;}


效果:第一个盒子右浮动和它们并排不紧靠,第二、三个盒子左浮动并排紧靠。

#### 3.8 第一个盒子右浮动,第二个盒子左浮动,第三个盒子右浮动

    .son1{background-color:skyblue;float: right;}.son2{background-color: purple;float: left;}.son3{background-color: pink;float: right;}


效果:第一、三个盒子右浮动并排紧靠,第二个盒子左浮动和它们并排不紧靠。

(四)总结

1)浮动的元素只会对它后面的元素造成影响
2)如果一个元素没有浮动,这个元素肯定会独占一行
3)浮动的时候是元素是先向上,再向左/右,然后停止
4)两个浮动元素会并排显示

3个DIV浮动的26个组合方式相关推荐

  1. position:fixed和scroll实现div浮动【示例】

    原文:position:fixed和scroll实现div浮动[示例] 前言 在自己建站的过程中,要实现一个div随滚动条浮动的效果,网上找了些示例不太好用,还是自己动手,丰衣足食,写的不好请大家谅解 ...

  2. html的div的间隙,解决DIV浮动间隙

    1.解决DIV浮动双倍间距 加属性display:inline; 2.Internet Explorer中Float DIV和Clear DIV之间奇怪间隙的Bug Container: paddin ...

  3. DIV 浮动层 绝对定位居中浮动 用CSS怎么写 —— 绯色的CSS系列

    DIV浮动层绝对居中定位用CSS怎么写?详细解说,直接看样式,下面的写法兼容IE系列浏览器和火狐浏览器. DIV浮动层绝对居中定位用CSS怎么写?下面的写法兼容IE系列浏览器和火狐浏览器. 详细解说, ...

  4. html div浮动效果,【html】【6】div浮动float

    我想 当看完上面的必看链接,拥有一定的基础后也得7天左右, 记住 一定要看完,知道它都有什么,没学会不要紧,哪怕只是有个简单的概念也行, 随着后续的使用慢慢深入学习,现在开始div布局. 必看参考: ...

  5. html 浮动input框上,INPUT点击触发显示DIV浮动框

    发表于:2018-10-20 10:38 阅读: 410次 在项目中,INPUT输入框经常遇到在输入时,需要提示输入信息,介于界面布局没有多余的位置,需要通过DIV浮动框来显示,经过多次修正,将完美的 ...

  6. 基于javascript的div浮动效果代码

    今天接到一个添加网页图片浮动的任务,花了一中午的时间进行了学习和编码,实现了两种方式的图片浮动,这里把遇到的问题和解决的方法做一个总结. 两种实现分别为:1)Z字形浮动  2)反弹浮动: 具体来说,需 ...

  7. 让相同的div浮动到同一行或者同一列

    既然要让div浮动起来,就要用到CSS中的float属性! 先来说一说CSS中的float属性: float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS ...

  8. 加油站优惠券组合方式

    加油站优惠券组合方式 题目描述 奥斯汀需要从他所在的城市去另一座城市,他所在城市和目的城市之间有N个收费站.奥斯汀有M种代金券,价值各不相同,他可以在收费站使用,以便继续走到下一个收费站.他有无限量的 ...

  9. VueJS 中更好的组件组合方式

    原文地址:https://itnext.io/better-composition-in-vue-fd35b9fe9c79 原文作者:????Francesco Vitullo 译文出自:????掘金 ...

最新文章

  1. Go语言 命令行解析(一)
  2. 关于ubuntu对有线网卡I219-V和无线网卡RTL8723DE 802.11b/g/n的支持问题
  3. 优化案例(part6)--Feature co-shrinking for co-clustering
  4. 利用python爬虫(part17)--初识selenium
  5. 2020年上半年家电市场报告
  6. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置
  7. Mysql 存储过程实现订单流水号
  8. oracle查看表空间的几个sql
  9. 数据结构算法题整理4
  10. 深度系统linux deepin如何按装,U盘安装深度操作系统(Deepin)的方法
  11. java更换证件照背景色
  12. 计算机网络路由交换技术运用,计算机网络路由交换的技术应用与发展趋势研究...
  13. 图表设计-远不止“好看”这么简单
  14. 面试题 丑数(10)
  15. matlab匿名函数如何写,matlab的匿名函数
  16. unity2.5D动画学习笔记(一):添加人物四向移动动画及脚本
  17. Maven server structure problem
  18. python比对excel表数据中的差异_Excel表格中数据比对和查找的几种技巧
  19. SRAM电路工作原理
  20. harry-用while循环画对称图形

热门文章

  1. 【云原生之Docker实战】使用Docker部署Fiora在线聊天室平台
  2. php安装sqlsrv扩展
  3. 期货长线交易资金管理(浮赢加仓)?
  4. 对于本专业的看法和认识
  5. Android指示器的使用。
  6. 【proteus】蜂鸣报警器--proteus仿真光线暗黑报警
  7. 东软学院软件测试,软件测试技术与测试标准
  8. 还分不清消防栓与消火栓?
  9. 压缩包解压乱码,zip格式,压缩包下载下来正常
  10. Vue封装WangEditor富文本编辑器