CSS3新增的position属性值sticky介绍

CSS3不久前新增了position的属性值,sticky。

设置了sticky的元素,在屏幕范围(viewport)时该元素的位置并不受到定位影响,该在哪里就是哪里(设置是top、left等属性无效)。但是,当该元素的位置将要移出屏幕范围时,定位又会变成fixed,根据设置的left、top等属性成固定位置的效果。

  可以知道sticky属性有以下几个特点:

1、该元素并不脱离文档流,仍然保留元素原本在文档流中的位置。
2、元素固定的相对偏移是相对于它的父标签而言的。即,设置的  left, top 等的值,是相对父标签而言的。它只会在父标签的范围内sticky(粘性的)


  比较蛋疼的是这个属性的兼容性还不是很好,目前仍是一个试验性的属性,并不是W3C推荐的标准。它之所以会出现,也是因为监听scroll事件来实现粘性布局使浏览器进入慢滚动的模式,这与浏览器想要通过硬件加速来提升滚动的体验是相悖的。

caniuse网上的统计兼容性情况如下: