一、固定定位
固定定位指的是将元素相对于浏览器窗口固定位置的一种定位方式。该元素会随着屏幕的滚动保持位置不变,不会受到文档流、滚动条的影响。
使用固定定位可以实现悬浮菜单、返回顶部等功能。
.fixed{ position: fixed; top: 20px; right: 20px; }
二、绝对定位
绝对定位是相对于父元素或者根元素进行定位的一种方式。该元素不再参与文档流的排版,而是根据其父元素或根元素进行定位。如果没有父元素,则相对于根元素进行定位。
使用绝对定位可以实现弹窗、轮播图等效果。
.parent{ position: relative; } .absolute{ position: absolute; top: 50px; left: 50px; }
三、区别
1、定位方式不同。
固定定位相对于浏览器窗口进行定位,而绝对定位则相对于其父元素或根元素进行定位。
2、是否脱离文档流。
固定定位不脱离文档流,绝对定位脱离文档流。
3、是否随屏幕滚动。
固定定位随屏幕滚动,绝对定位不随屏幕滚动。
四、使用场景
1、固定定位使用场景:
① 悬浮导航:当用户向下滚动页面时,悬浮导航停留在页面顶部。
② 返回顶部:当用户往下滑动时,返回按钮随之出现,当用户点击按钮时返回页面顶部。
2、绝对定位使用场景:
① 弹出框:当用户点击某一个按钮时,弹出框出现在页面中央。
② 轮播图:多张图片在一个固定的区域内循环播放。
五、总结
CSS中的固定定位和绝对定位虽然实现的效果不同,但是目的都是为了更好的控制元素的位置。在实际开发中,需要根据实际场景来选择使用不同的定位方式。