前端知识点总结(二)关于元素定位的区别与理解

分析与解答:

有四种定位:absolute(绝对定位)relative(相对定位)fixed(固定定位)static(默认)

1、static(静态定位):默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

2、relative(相对定位):生成相对定位的元素,通过top,bottom,left,right的设置相对于其正常(原先本身)位置进行定位。可通过z-index进行层次分级。  

3、absolute(绝对定位):生成绝对定位的元素,相对于 static 定位以外第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。可通过z-index进行层次分级。

4、fixed(固定定位):生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。可通过z-index进行层次分级。


1. absolute绝对定位

相对位置为最近的已定位的父元素进行定位。    

前端知识点总结(二)关于元素定位的区别与理解


2. relative相对定位

相对于其正常(原先本身位置)位置进行定位。[不会改变行内元素的display属性。 并没有脱离普通流,只是视觉上发生的偏移,原先位置还在]

前端知识点总结(二)关于元素定位的区别与理解

3. fixed  固定定位

相对于浏览器窗口进行定位。  

前端知识点总结(二)关于元素定位的区别与理解


4. static

默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right z-index 声明)

注意 absolute绝对定位和fixed固定定位都会脱离文档流 

其实还有一个 position:sticky 粘性布局 但是兼容性并不好 就不细说了