通常会提到的position有几种:
- position:static 就是标准流定位,是默认设置
- position:relative 是相对定位,这个相对是相对于标准流的,所以显然元素不会脱离标准流。
- position:absolute 是绝对定位,元素脱离标准流并且参照父元素进行定位。
- position:fixed 是固定定位,元素脱离标准流并且参照视窗进行定位(一般用在标题栏),可以预见到使用单栏布局时,下一行要设置一个padding-top来撑起fixed定位脱离标准流的部分。
注意关于position:absolute绝对定位,如果父元素是relative相对定位的,那么子元素绝对定位脱离标准流后会以父元素为起点;
然而如果当父元素没有设置相对定位,那么它的位置相对于最初的包含块。也就是说,如果父元素设置了相对定位,那么就肯定跟父元素,如果没有,则它会往上找到上一层设置了position不是static的那个,最后的情况是如果都没有找到就会归于body.