用position来设置定位,可选值有static,默认值,不开启定位。relative,相对定位。absolute,绝对定位。fix,固定定位。sticky,粘滞定位。
一、相对定位:position:relative; 开启了相对定位
如果不设置偏移量,元素的位置是不发生任何变化。
设置偏移量,偏移量的相对位置是相对于元素原来在文档流中的位置(left:0;top:0)
设置相对定位后,元素的性质是不发生变化、元素的层级会提高、元素不会脱离文档流
二、绝对定位:position:absolute; 开启了绝对定位
设置绝对定位后,元素会脱离文档流、元素的层级也会提高
如果不设置偏移量,元素的位置也不会发生变化
元素的性质就会发生变化,就不会再区分块还是行内了
绝对定位,它的原点是相对于其包含块来定位的
三、固定定位:position:fixed;开启了固定定位
用于固定在浏览器页面上,不随浏览器的滚动而改变位置
以浏览器为参照物,和父元素没有任何关系
固定定位不占有原来的位置,即脱离标准流 ,更改元素的性质
固定定位一般用于固定导航、固定侧边栏、广告
四、粘滞定位:position:sticky;开启了粘滞定位
以浏览器为参照物
占有原来位置(体现相对定位特点),不会脱离文档流,元素性质也不会发生变化;
粘滞定位可以在元素到达某个位置时,将其固定
配合top值设置,没有达到top值之前正常显示,随着滚动条滚动而滚动,达到top值之后类似 于固定定位,不会跟随滚动条滚动而滚动