普通文档流:
默认状态,元素自动从左到右(行内元素)、从上到下排列(块级元素)
浮动:
1、浮动元素会脱离文档流
2、使元素向左或者向右移动,只能左右不能上下
3、浮动元素碰到包含框或另一个浮动框,浮动停止
4、浮动元素之前的元素不受影响,之后的元素将围绕它
使用浮动产生高度塌陷——解决方法清除浮动
1、在浮动元素后加一个空元素,为其添加清除浮动属性clear:both;
2、给浮动元素的容器添加 overflow:hidden;
加 zoom:1; 触发hasLayout兼容IE6、7
3、使用CS3的 :after 伪元素(同理方法1)
.clearfix:after{ content:' '; display:block; height:0; visibilty:hidden; clear:both;}
.clearfix{ zoom:1;}
position定位:
static;使元素定位于常规流,可以使别的定位失效
relative;相对定位,相对常规流的位置产生偏移,实际位置不变;通常作为定位锚点使用于需要绝对定位的元素父容器
absolute;绝对定位,脱离文档流,相对于带有relative的父容器定位;如果没有最近定位祖先元素,会根据body定位
*设置 top:0;bottom:0; left0; right:0; margin:auto auto; 可以居中容器
fixed; 固定定位,相对视口(用户可视窗口)定位,脱离文档流。不随滚动滚动,其他属性和绝对定位absolute一样
sticky;磁贴定位,位置还在常规流,当滚动到设定锚点后,吸附固定不随滚动而滚动。祖先有滚动时,偏移标尺相对祖先,祖先元素没有滚动,那偏移标尺相对视口