position四个属性

描述
absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
此元素的位置可通过 “top”、”right”、”bottom” 以及 “left” 属性来规定。
relative 生成相对定位的元素,相对于其正常位置进行定位。
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 “top”、”right”、”bottom” 以及 “left” 属性进行规定。
sticky 粘性布局,元素先按照普通文档流定位,然后相对于该元素在流中的 flow root(BFC)和 containing block(最近的块级祖先元素)定位,而后,元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。这个特定阈值指的是 “top”、”right”、”bottom” 以及 “left” 之一
static 默认值。static 元素会忽略任何 “top”、”right”、”bottom”、”left” 和 “z-index” 声明
inherit 规定应该从父元素继承 position 属性的值。position 属性默认是不继承的
initial 设置该属性为浏览器默认值,对 positon 属性来说就是 static
unset 将属性的值复位,如果该属性是默认继承属性,该值等同于 inherit ,如果该属性是非继承属性,该值等同于 initial 。对 positon 属性来说就是 static

sticky布局如何polifill

假如需要设置滑动时区块若超出视口则固定于浏览器上。按照常规做法,监听页面 onscroll 事件,判断 scrollTop 是否大于区块距离视口顶部距离,超过了则设定该区块 position: fixed;,反之去掉。onscroll 事件触发比较频繁,需要添加截流。