position定位有一个默认的属性值:static。但是它常用的属性还是以下3个:relative、fixed、absolute。
relative:
如果仅仅是像这样:position:relative; 那么它的表现是和static一样的。需要加top、right、bottom、left来使其偏离正常位置。注意:relative不会使元素脱离文档流,也就是其他的元素不会调整位置来弥补它偏离后剩下的空隙。
fixed:
fixed是相对于浏览器可视窗口来定位的,即使是页面滚动,fixed定位的元素还是会停留在原来的位置。注意:fixed会使元素脱离文档流,也就是其他元素会填充它偏离后在页面中原本位置的空隙。
absolute:
absolute是相对于它最近的已定位的祖先元素,如果没有,那么它就是相对于body元素定位。注意:absolute会使元素脱离文档流。
这里再顺便提一下另外一种定位:float
如下这种布局:
<div><img url="#"/></div>
若img设置了float,那么img就会溢出到div 的外面,这时需要给div容器加一个class:
.clearfix{
overflow:auto;
}