Sticky 吸顶

该组件与CSS中position: sticky属性实现的效果一致,当组件达到预设的到顶部距离时, 就会固定在指定位置,组件位置大于预设的顶部距离时,会重新按照正常的布局排列。

提示

由于右侧的演示是通过iframe标签引入的,缺少了手机端运行的相关API,所以吸顶是看不到效果的,手机端有不会这些问题,请在右上角的“演示”中用手机扫码查看对应的效果

平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序

基本使用

通过slot,将需要吸顶的内容放在Sticky组件中即可,slot中只能有一个根元素

  1. <template>
  2. <view class="container">
  3. <u-sticky>
  4. <!-- 只能有一个根元素 -->
  5. <view class="sticky">
  6. 宝剑锋从磨砺出,梅花香自苦寒来
  7. </view>
  8. </u-sticky>
  9. </view>
  10. </template>
  11. <style lang="scss" scoped>
  12. .container {
  13. height: 200vh;
  14. margin-top: 150rpx;
  15. }
  16. .sticky {
  17. width: 750rpx;
  18. height: 120rpx;
  19. background-color: #2979ff;
  20. color: #fff;
  21. padding: 24rpx;
  22. }
  23. </style>

吸顶距离

通过offset-top参数设置组件在吸顶时与顶部的距离

  1. <u-sticky offset-top="200">
  2. <view>
  3. 塞下秋来风景异,衡阳雁去无留意
  4. </view>
  5. </u-sticky>

API

Props

参数说明类型默认值可选值
offset-top吸顶时与顶部的距离,单位rpxString | Number0-
index自定义标识,用于区分是哪一个组件String | Number--
enable是否开启吸顶功能Booleantruefalse
bg-color组件背景颜色String#ffffff-
z-index吸顶时的z-indexString | Number970-
h5-nav-height导航栏高度,自定义导航栏时(无导航栏时需设置为0),需要传入此值,单位pxString | Number44-

Event

事件名说明回调参数
fixed组件吸顶时触发index: 通过props传递的index