css position:sticky

position 是 CSS中的一个常用属性,常见的取值有:relative,absolute,static,fixed,不过我还有一个取值想必很多同学都没听过,那就是sticky,这个定位是干啥用的呢?

我们经常会遇到的一个场景就是,网页左侧有一个重要区域,正常情况下是跟随网页滚动条滚动的,当该元素到达浏览器顶部时,元素的定位就变成了fixed不动了。

对于这种需求的解决方案通常借助JS和CSS,通过检测滚动事件来修改元素的定位属性,或者使用第三方插件。

而sticky 恰恰是解决这种场景的纯CSS方案,sticky 的中文意思是粘性,也就是粘在某个地方。

将下面的代码保存在一个HTML文件 在浏览器中打开,体验一下sticky的效果




    
    Document
    


    

需要注意的一点是,要实现粘性定位,必须要指定top,right,bottom,left,四个属性之一,否则是没有效果的。

目前浏览器对于sticky的支持不太乐观,推荐加上相应的polyfill

你可能感兴趣的:(css)