clear会发生margin重叠显现浏览器
一、元素的block块状化,元素的display属性变为block布局
二、破坏性形成的紧密排列属性(去空格化)spa
一、容错性比糟糕,容易出现问题;设计
二、这种布局须要元素固定尺寸,很难重复使用;orm
三、在低版本的IE下会有许多问题。it
float:left(左按钮);float:right(右按钮);text-align:center(中间标题)io
1 单侧table
width+float(左侧元素)form
padding-left/margin-left(右侧元素)
2 两侧自适应布局实现:(左侧浮动,右侧能够变动宽)
float:left; width:max-width(自定义); display:table-cell(ie8,根据剩余宽度进行自适应浮动); *width:auto; *display:inline-block(ie7);
备注:IE6识别*和_;IE7识别*和!important;其余浏览器识别 !important。
3 左浮动,不改变DOM位置的流体布局写法,核心代码是 左侧div: width: 100%; float: left; 右侧div: width: 56px; float: left; margin-left: -56px; <--- 此处的 margin-left,等于右侧 div 自身的宽度 width: 56px
1.float双倍边距bugimport
2.跟随float元素3px bug
3.float元素后面的斜体文字会有下沉的bug
1.含clear的浮动元素包裹不正确的问题
2.浮动元素倒数2个莫名垂直间距问题
3.浮动元素最后一个字符重复问题
4.浮动元素楼梯排列问题
5.浮动元素和文本不在同一行的问题
BFC/haslayout一般声明 float:left/right position:absolute/fixed overflow:hidden/scroll(IE7+) display:inline-block/table-cell(IE8+) width/height/zoom:1/...(IE6/IE7)