Float 布局详解

简单的了解float的历史,其本来的作用,及其特性

作者 Haojen Ma 日期 2015-10-30
Float 布局详解

Float 的的设计初衷

Float 的设计初衷仅仅是为了实现文字环绕效果,所以了解了 Float的设计初衷,我们就能明白 Float的特有的行为表现了

包裹和破坏

增强浮动的感性认知

包裹

包裹的特性的是

  1. 坚挺
  2. 收缩
  3. 隔绝

这种特性称之为 BFC, 具有这种包裹性的元素有

  1. display:inline-block / table-cell
  2. position: absolute/fixed/sticky
  3. overflow:hidden/scroll

破坏

如果浮动元素是某一个元素的父元素,那么子元素就会溢出父元素,而父元素将会塌陷

清除浮动

清除浮动是一种简称, 较为确切的说是清除浮动带来的影响

第一种办法 clear

clear 通常应用形式

  1. HTML block 水平元素底部
  2. CSS after 伪元素底部生成 :但是用该方法会在 IE6/7中出现兼容问题

第二种办法 BFC/haslayout

两种办法的优缺点:

clear: 会发生 margin 重叠现象 BFC: 清除浮动,则会把这个元素包起来,从而不会发生 margin 重叠的想象.

Float布局的应用场景和优缺点

float 本身就是用来实现文字环绕图片效果的,不适合应用在布局上 缺点:

  1. 容错性差, 耦合高,其中某一浮动元素出现问题,其他也会受到影响
  2. 兼容性差, 在 IE 某些版本浏览器上会出现问题
  3. 必须有固定的布局