定位:
static 默认值,没有定位
relative 相对定位
absolute 绝对定位
fixed 固定定位
1、相对定位: position: relative
position: relative;设置相对定位的盒子会相对它原来的位置,通过指定偏移,到达新的位置,设置相对定位的盒子仍在标准文档流中,它对父级盒子和相邻的盒子都没有任何影响,设置相对定位的盒子原来的位置会被保留下来
偏移设置:top、left、right、bottom相对自身原来位置进行偏移,盒子移动的(0,0)点在左上角
left: 20px; top:30px; ★相对自身原来的位置 距离左边20px 距离顶部30px
right:20px;bottom: 30px;★相对自身原来的位置 距离右边20px 距离底部30px
浮动会造成元素脱离文档流 就不能保留原来的位置了,因为脱离文档流了并且没有设置宽度 那么也就不能结成父元素的宽度了
练习1:
2、 绝对定位 position: absolute;
position: absolute;★设置了绝对定位但没有设置偏移量的元素将保持在原来的位置,在网页制作中可以用于需要使某个元素脱离标准流,而仍然希望它保持在原来的位置的情况
★如果没有已经定位的祖先元素,会以浏览器窗口为基准进行定位
绝对定位的元素从标准文档流中脱离 这意味着它们对其他元素的定位不会造成影响
元素位置发生偏移后,它原来的位置不会被保留下来
因为relative不会让父级脱离文档流 而absolute和fixed会脱离文档流,所以 使用了绝对定位的元素以它最近的一个“已经定位”的“祖先元素”为基准进行偏移,一般使用relative 作为absolute的父级定位
练习2
3、固定定位 position: fixed;
类似绝对定位,固定定位也会脱离文档流,不过区别在于定位的基准不是祖先元素,而是浏览器窗口,偏移量不会随滚动条的移动而移动,固定定位的使用场景,一般在网页中被用在窗口左右两边的固定广告、返回顶部图标、吸顶导航栏等,改图片中 当向下滑动滚动条时黄色的正方形在屏幕中保持位置不动,红色正方形随着滚动条移动至上方。