一.什么是定位
定义:是一种布局手段,而且它是一种高级的布局手段,可以将页面中的任何元素放在页面中的任意位置通过position属性进行设置,可选值: static 默认值 不开启定位
以下四种都属于开启定位
relative 开启相对定位
absolute 开启绝对定位
fixed 开启固定定位
sticky 开启粘滞定位
二.相对定位
使用position:relative;开启
特点:
1、开启了相对定位,如果不配合偏移量使用,元素不会发生任何变化
2、相对定位,是相对于元素原来在文档流中的位置定位
3、开启了相对定位后,元素的层级会变高,也就是会盖住其他的元素
4、开启了相对定位后,元素的性质不会发生变化,
也就是块还是块,行内还是行内
偏移量 相对于定位位置挪动的大小的值
left 相对于定位位置左侧的偏移量
right 相对于定位位置右侧的偏移量
top 相对于定位位置上侧的偏移量
bottom 相对于定位位置下侧的偏移量
一般情况下,设置偏移量,
水平方向,left或right调动一个值
垂直方向,top或bottom调动一个值
三.绝对定位
开启绝对定位
position:absolute;
开启后特点
1、开启了绝对定位,如果不配合偏移量使用,元素的位置没有发生变化
2、开启了绝对定位后,元素会脱离文档流,下面的元素就会跑上去
3、开启了绝对定位,元素脱离文档流,元素的性质就会发生变化
不再区分块还是行内还是行内块,也就是块元素不会独占一行了,行内元素可以设置宽高等
4、绝对定位的原点,是相对于其包含块来确定的
一般情况下,如果设置子元素为绝对定位,
我们会同时设置其父元素相对定位,以便设置偏移量,这种情况叫“子绝父相”,
但最终还是要根据如何方便设置子元素偏移量为准。
5、开启了绝对定位,元素会提升一个等级
四.固定定位
如何开启
position:fixed;
开启后的特点
1、开启固定定位后,元素会脱离文档流,元素的性质会发生改变
2、开启固定定位后,元素会固定在页面中,不会随着滚动条滚动而滚动
3、开启固定定位后,也需要配合偏移量,来改变元素在页面中位置
4、固定定位的原点是html根标签,也就是浏览器视口
常用的场景
1、固定的侧边导航
2、固定的广告
3、固定的顶部、底部导航
五.粘滞定位
如何开启
position: sticky;
开启之后的特点
1、开启粘滞定位,元素不会脱离文档流,也就是元素性质也不会发生改变
2、开启粘滞定位后,元素位置不发生改变,需要配合偏移量使用
一般情况下,是配合top值使用
在没有到达top值之前,元素是随着滚动条滚动而滚动,
当到达top值之后,元素就不会随着滚动条滚动而滚动了
3、粘滞定位是后来增加的定位方式,注意它的兼容性,一般兼容到ie9以上
4、粘滞定位的原点也是浏览器视口,也就是html根标签