1.什么是浮动:在我们布局的时用到的一种技术,能够方便我们进行布局,通过让元素浮动,我们可以使元素在水平上左右移动,再通过margin属性调整位置
2.浮动的原理:使当前元素脱离普通流,相当于浮动起来一样,浮动的框可以左右移动,直至它的外边缘遇到包含框或者另一个浮动框的边缘
3.浮动的生成:使用css属性float:left/right/none 左浮动/右浮动/不浮动(默认)
4.浮动的影响:
  • 对附近的元素布局造成改变,使得布局混乱
  • 浮动后的元素可以设置宽度和高度等,也就是说元素浮动后会变成块级元素,但我更倾向于说元素变成inline-block类型的元素,即同时拥有块级与行内元素的特征
  • 因为浮动元素脱离了普通流,会出现一种高度坍塌的现象:原来的父容器高度是当前元素A撑开的,但是当A元素浮动后,脱离普通流浮动起来,那父容器的高度就坍塌(前提是父容器高度小于A元素高度),下面用图来说明一下高度坍塌:

5.清除浮动与闭合浮动
先说说我个人的理解:我将解释一下我理解的闭合浮动与清除浮动
清除浮动:使用clear元素清除外面浮动,解决外面浮动对自己的影响
闭合浮动:当前块级中,其子元素使用了浮动,会给当前块内部和块外部的布局带来影响,所以将当前块中的浮动闭合,能将影响最大化清除。举个例子:
代码:
<style type="text/css">
.box1{width: 200px;border: 2px solid #0f0;/*overflow: hidden;*/}.box1 .child-1{float: left;height: 100px;width: 100px;background: #fd0;}.box1 .child-2{float: left;height: 100px;width: 100px;background: #fba;}.box2{width: 200px;height: 150px;border: 2px solid #00f;/* clear: both; */}
</style>
<body><div class="box1"><div class="child-1">child-1</div><div class="child-2">child-2</div></div><div class="box2"></div>
</body>

图一:原始图
图二:child-1 和 child-2 进行浮动
图三:区分清除浮动与闭合浮动(个人理解:在外面解决问题,内部问题未解决)
清除浮动:对box2使用:clear:both

图四:闭合浮动(在内部解决问题:同时解决外部问题)
闭合浮动:对box1使用overflow:hidden(其中一种方式,后面还有更好的方式)
因此我更愿意称其为闭合浮动:其实也可以叫清除浮动,不过我就是觉得闭合浮动比较形象。
6.闭合浮动方法(常见的几个方法):既然浮动带来这些不利的影响,我们就要想办法清除它。
其一:通过在浮动元素的末尾添加一个空元素,设置 clear:both属性;
缺点:成本太高,额外添加了一个元素,维护困难
<div class="box1">
<div class="child-1">child-1</div>
<div class="child-2">child-2</div>
<div style="clear: both;"></div>
</div>
<div class="box2"></div>

其二:通过设置父元素 overflow 或者display:table 属性来闭合浮动,给box1添加overflow:hidden
其三(推荐):使用伪元素:after,下面是代码,给box1添加上clearfloat这class即可
/*适配ie6*/
.clearfloat{zoom:1;
}
.clearfloat:after{display:block;
height:0;
content:"";
clear:both;
visibility:hidden;
}

参考:http://www.cnblogs.com/Ry-yuan/p/6816290.html

转载于:https://www.cnblogs.com/dehuachenyunfei/p/6830446.html

CSS浮动(Float)(二)相关推荐

  1. css浮动(float)及清除浮动的几种实用方法

    CSS浮动是现在网页布局中使用最频繁的效果之一,而浮动可以帮我们解决很多问题,那么就让我们一起来看一看如何使用浮动. 一.css浮动(float) (1)html文档流 自窗体自上而下分成一行一行,并 ...

  2. 关于CSS浮动(float,clear)的通俗讲解(经验分享)

    很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多 ...

  3. (图文详细)最通俗易懂的CSS 浮动float属性详解

    (图文详细)最通俗易懂的CSS 浮动float属性详解 声明:本文属于搬砖大神的文章到自己的博客上,原文地址为:https://www.cnblogs.com/iyangyuan/archive/20 ...

  4. CSS浮动(float,clear)通俗讲解- 杨元- 博客园

     学习CSS布局 主页目录 inline-block 你可以创建很多网格来铺满浏览器.在过去很长的一段时间内使用 float 是一种选择,但是使用 inline-block 会更简单.让我们看下使用这 ...

  5. 经验分享:CSS浮动(float,clear)通俗讲解

    很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多 ...

  6. 杨元:CSS浮动(float,clear)通俗讲解

    zt http://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能 ...

  7. CSS浮动Float

    本人也是刚接触css所以有说的不对的和需要补充的,各位大神指点出来帮助本人提升,感谢!! 块级元素: 在Html布局中,基本都是利用属性的嵌套来完成页面的板块,然后进行css的美化布局,但首要了解的还 ...

  8. (转) 杨元:CSS浮动(float,clear)通俗讲解

    http://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差, ...

  9. 【响应式Web前端设计】CSS浮动(float,clear)讲解

    首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为d ...

  10. CSS浮动(float)属性学习经验分享

    作为一名前端开发的初学者,CSS的布局定位无疑成为了一个难点,这两天通过看一些博客的技术分享和自己的反复实践,大概领悟到了一些float的"门道". 下面就通过一些例子来归纳总结一 ...

最新文章

  1. 可见的轮廓线用虚线绘制_为什么你用SketchUp没有别人“快”?
  2. 一次 SQL 查询优化原理分析(900W+ 数据,从 17s 到 300ms)
  3. kali linux安装ftp服务,CentOS7安装和配置FTP
  4. struct2(四)编写Struct2 的Action
  5. 皮一皮:直男的世界不可揣测!
  6. python【蓝桥杯vip练习题库】ALGO-106 6-3判定字符位置
  7. 无线基站侧的信令风暴根因——频繁的释放和连接RRC产生大量信令、设备移动导致小区重选信令增加、寻呼信令多...
  8. WebLogic 12c 添加默认应用
  9. Java 数据库连接池的技术选型都应考虑哪些要素
  10. 查找-动态查找表-二叉排序树
  11. java完整JDBC操作数据库
  12. python list去重函数_Python基础中的集合,函数——06
  13. docker在win7下的使用
  14. CLR via C# 读书笔记 3-6 比较APM和EAP(异步编程模型和基于事件的编程模式)
  15. Eviews3种面板模型的选择-F检验操作详情
  16. 无法使用XXXX附加到应用程序解决办法
  17. pxe服务器 安装系统,通过PXE网络安装windows系统
  18. 英语基础语法学习(B站英语电力公司)
  19. 青龙-闪电世界(脚本更新)
  20. 计算最大回撤python_python 计算收益回撤比

热门文章

  1. wxPython 笔记(8)设定窗体的样式
  2. ASP.NET 2.0中的Session状态丢失的解决办法
  3. Dropout也能自动化了,谷歌Quoc Le等人利用强化学习自动找寻模型专用Dropout
  4. centos打开mysql数据库_Linux、Centos下操作mysql数据库开启远程访问
  5. 【资源】斯坦福李飞飞高徒Johnson博士论文: 组成式计算机视觉智能(附195页PDF)
  6. 如何在电脑上制作请假条表格_条码标签打印软件如何制作请假表
  7. 往map里的vector添加_面试官:同步容器(如Vector)的所有操作一定是线程安全的吗?...
  8. modelsim和matlab联合仿真,Modelsim与Matlab联合仿真
  9. 传统emmc所用的sdio接口_SolidGear SD/SDIO/eMMC协议分析仪
  10. html中的form action属性,HTML form action 属性