静态定位:static 默认值不脱离文档流,top,right,bottom,left 等属性不生效。
绝对定位:absolute
绝对定位的关键是找对参照物:找到最近的一级带有定位的父级元素进行位置移动。
如果找不到,那么相对于浏览器窗口进行定位。
注:设置了 position:absolute;属性后,元素会脱离正常文档流,不再占据空间;左右 margin 为 auto 将会失效;我们通过 left、top、bottom、right 来决定元素位置。
相对定位:relative
参照物:元素偏移前位置。
注:设置了相对定位,左右 margin 为 auto 仍然有效、并且不会脱离文档流。
固定定位:fixed
参照物:浏览器窗口;
注:固定定位会脱离文档流;
当绝对定位和固定定位参照物都是浏览器窗口时的区别: 当出现滚动条时,固定定位的元素不会跟随滚动条滚动,绝对定位会跟随滚动条滚动。