关于定位

position属性拥有3种定位形式:1.静态定位 2.相对定位 3.绝对定位
可设置4个属性值:static(静态定位)relative(相对定位)absolute(绝对定位)fixed(固定定位)

相对定位(relative)
特点:相对于自身原有位置进行偏移,仍处于标准文档流中,随即拥有偏移属性和z-index属性(意味着空间覆盖) 例如:
positive: relative; top:50px; left:100px;

绝对定位(positive)
特点:1.建立了以包含块为基准的定位 2.完全脱离了标准文档流(就是说不会再对其兄弟元素产生影响)3.随即拥有 偏移属性和z-index属性(空间的层堆叠)

第一种情况:未设置偏移量
特点:无论是否存在已定位祖先元素,都保持在元素初始位置。脱离了标准文档流。
如果一个元素设置了相对定位,绝对定位,固定定位(此处没有静态定位)中的一种,我们都说它已经定位了。
当一个元素设置绝对定位而没有设置宽度时,元素的宽度根据内容进行调节。

第二种情况:设置偏移量(偏移参照基准:1.没有已经定位的祖先元素,以<html>根节点为偏移参照基准;
2.有已经定位的祖先元素,以距其最近的已定位祖先元素为偏移参照基准)

使用绝对定位横向两列布局页面
使用absolute实现横向两列布局,常用于一列固定宽度,另一列宽度自适应的情况。
主要应用技能:
relative-父元素相对定位
absolute-自适应宽度元素绝对定位
注意:固定宽度列的高度>自适应宽度的列高(因为自适应元素已经脱离了标准文档流,需要一个柱子一样的撑起页面)

最后举一个通俗的例子:absolute 是调座位(剪切粘贴),relative 是占座位(复制粘贴),人走了,座位还是你的。

Written on December 13, 2016