absolute和fixed是两种不同的CSS定位属性,它们的共同点是都可以将元素从文档中固定在一个特定位置。
它们的不同之处在于:
- absolute定位是相对于最接近的已定位祖先元素(即设置了position属性的父级元素),如果没有已定位的祖先元素,则相对于文档的 body 元素。这意味着,当父级元素发生移动时,子元素的位置也会随之变化。
- fixed定位是相对于浏览器窗口(viewport)定位,不会随父级元素的移动而改变。当滚动文档时,fixed元素会保持在相同的位置。
另外需要注意的是,fixed定位的元素在移动端需要特别小心,因为它们无法像absolute定位那样能够在屏幕大小变化或屏幕旋转的情况下适应变化。