定位 =定位模式+边偏移
- 定位模式指定一个元素在文档中的定位方式。
- 边偏移则决定该元素的最终位置。
定位模式:决定盒子的定位方式,通过position属性来设置,可以分为四个值: position: static(静态定位) position: relative(相对定位) position: absolute(绝对定位) position: fixed(固定定位)
边偏移:定位的盒子最终要移动的位置,分为 top、bottom、right、left四种 top: 距离父元素顶部的距离 bottom: 距离父元素底部的距离 right: 距离父元素右边的距离 left: 距离父元素左边的距离
position: static 静态定位
静态定位就是默认的定位方式,即无定位。
固定定位:position:fixed 相对于浏览器窗口 脱离文档流
固定定位特点:
- 与父元素无关
- 页面滚动不影响定位
- 不占有位置
定义了一个粉色盒子,给它加上固定定位并设置了偏移量,尽管把浏览器放大缩小,或是把浏览器向下滑动,盒子始终在可视区定位的位置,而且也不占用空间,把 p 文字压住了。
Position:relative相对定位的特征
1、不影响元素本身的特征
2、不使元素脱离文档流(元素移动之后原始位置会被保留)
3、如果没有定偏移量,对元素本身没有任何影响
4、提升层级
Position:absolute 绝对定位
1、使元素完全脱离文档流
2、使内嵌支持宽高
3、块属性标签内容撑开宽度
4、相对于加了相对定位的父元素进行偏移,如果没有父元素或者父元素没有相对定位,相对document发生偏移。
5、提升层级
注意:Positon:fixed
相对浏览器的可视区域定性定位,脱离文档流,IE6不支持
- 相对定位:position:relative 相对于元素原来的位置,不脱离文档流。
- 绝对定位:position:absolute 相对于有定位的父元素或者祖先元素,如果都没有就相对于body,脱离文档流。