美文网首页
position:sticky粘性定位

position:sticky粘性定位

作者: BoomKing | 来源:发表于2019-04-15 10:01 被阅读0次

最近项目中遇到一个需要置顶导航栏的问题,一顿操作用js写好了之后偶然间发现css居然新增了一条属性可以实现同样的效果。

position:sticky粘性定位可以被认为是相对定位和固定定位的混合。元素在跨越特定阈值前为相对定位,之后为固定定位,它主要用在对scroll事件的监听上。

简单来说,在滑动过程中,某个元素距离其父元素的距离达到sticky粘性定位的要求时(比如top:100px);position:sticky这时的效果相当于fixed定位,固定到适当位置。
使用方法也很简单

.sticky {
  position: sticky;
  top: 100px;
}

不过也要满足下面的条件:
1.父元素不能overflow:hidden或者overflow:auto属性。
2.必须指定topbottomleftright4个值之一,否则只会处于相对定位
3.父元素的高度不能低于sticky元素的高度
4.sticky元素仅在其父元素内生效

不过在实际使用的之后发现这玩意的兼容性并没有那么理想,白忙活了半天最后还是得用老办法。

最后附上js简单实现粘性定位的代码

function sticky(el) {
  var top = document.body.scrollTop || document.documentElement.scrollTop;
  if( el.offsetTop > top) {
       el.style.position = 'relative';
   }else {
       el.style.position = 'fixed';
   }
}

window.onscroll = sticky(el)

相关文章

  • sticky吸顶

    position: sticky(粘性定位) 粘性定位 sticky 相当于相对定位 relative 和固定定位...

  • 粘性定位

    粘性定位 position:sticky 一个定位的奇葩, 设置position:sticky同时给一个(t...

  • css粘性定位position: sticky

    css粘性定位position:sticky问题采坑position: sticky 详解(防坑指南)CSS中po...

  • position:sticky粘性布局

    position:sticky粘性布局 作用 它是相对定位position:relative和固定定位positi...

  • position:sticky粘性定位

    最近项目中遇到一个需要置顶导航栏的问题,一顿操作用js写好了之后偶然间发现css居然新增了一条属性可以实现同样的效...

  • 类型和位置

    position: sticky; 基于用户的滚动位置来定位。粘性定位的元素是依赖于用户的滚动,在 positio...

  • 彻底理解粘性定位 - position: sticky

    粘性定位可以被认为是相对定位(position: relative)和固定定位(position: fixed)的...

  • sticky -- position定位属性sticky值之粘性

    sticky简述 sticky 是css定为新增的属性;可以说是相对定位relative和固定定位fixed的结合...

  • CSS Sticky

    sticky原意为“粘贴的”,属于CSS3中position定位属性新增的一个属性值,称之为粘性定位,它是结合re...

  • 深入理解position sticky 粘性定位

    粘性定位可以简单理解为relative和fixed布局的混合。 基本概念 流盒指的是粘性定位元素最近的可滚动元素(...

网友评论

      本文标题:position:sticky粘性定位

      本文链接:https://www.haomeiwen.com/subject/oimywqtx.html