Fixed和Absolute都是CSS中定位的属性,它们用于控制元素在页面中的位置,其中Fixed表示固定定位,Absolute表示绝对定位。它们的区别在于定位的参照物不同。
Fixed定位是相对于浏览器视口来定位的,也就是说,元素的位置不会随着页面滚动而改变,始终会固定在视口的某个位置。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。脱离文档流不占空间。
Fixed定位的常用场景是实现页面的浮动导航、右侧边栏等,也可以用于弹窗的定位。
- 元素脱离正常文档流,不占位
- 不会随页面的内容滚动而滚动
- 提升层级
- 如果没有定位偏移属性,对元素本身有影响
Absolute定位是相对于 static(position默认值)定位以外的第一个父元素进行定位,如果不存在已定位的父元素,则相对于body元素。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。
Absolute定位的常用场景是实现页面中的局部定位,例如可以实现图片的悬浮效果、文字的重叠等。