定位:一种高级的布局手段,可将任何元素,放在页面的任意位置
用position来设置定位
可选值
static 默认值,不开启定位
四种定位方式,都属于开启了定位
relative 相对定位
absolute 绝对定位
fix 固定定位
sticky 粘滞定位
position:relative 开启了相对定位
1、如果不设置偏移量,元素的位置是不发生任何变化
2、设置偏移量,偏移量的相对位置是相对于元素原来在文档流中的位置
3、设置相对定位后,元素的性质是不发生变化元素是不会脱离文档流元素的层级会提高
开启绝对定位position: absolute;
绝对定位后的特点
1、设置绝对定位后,元素会脱离文档流
2、设置绝对定位后,元素的性质就会发生变化,就不会再区分块还是行内了
3、设置绝对定位后,如果不设置偏移量,元素的位置也不会发生变化
4、绝对定位,它的原点是相对于其包含块来定位的
5、设置绝对定位后,元素的层级也会提高
注意:一般情况下,为了更好的控制子元素的位置,
我们会在开启子元素的绝对定位后,会同步开启父元素的相对定位.这叫"子绝父相"
包含块
1、默认情况(没有定位的情况下),包含块就是元素的祖先元素
2、如果是定位的情况下,包含块就是元素的开启了定位的,离它最近的祖先元素,如果祖先元素都没有开启定位,则包含块就是根标签(html)