参考文章:relative 和 absolute 元素的百分比定位、CSS进阶——绝对定位元素的宽高是如何定义的
一、设置top、right、bottom、left的值为百分比
如果没有设置top、right、bottom、left
,他们默认值是auto
,默认是在静态位置
- 相对定位
relative
相对定位是按照父盒子的content-box
进行计算,不论父盒子是否设置定位,子盒子都按照父盒子content-box
来计算 - 绝对定位
absolute
绝对定位是按照父盒子的padding-box
进行计算,绝对定位元素的包含块是由其最近的position
属性设置为relative
、absolute
或fixed
的祖先元素,如果绝对定位元素的所有祖先元素的position属性都没有设置relative
、absolute
或fixed
,则其包含块为初始包含块。
初始包含块不是html元素,也不是body元素,而是当前视口,这一点很容易弄错