Vant4 Sticky 粘性布局

2023-02-16 17:56 更新

介紹

Sticky 組件與 CSS 中 position: sticky 屬性實現(xiàn)的效果一致,當組件在屏幕范圍內(nèi)時,會按照正常的布局排列,當組件滾出屏幕范圍時,始終會固定在屏幕頂部。

引入

通過以下方式來全局注冊組件,更多注冊方式請參考組件注冊。

import { createApp } from 'vue';
import { Sticky } from 'vant';

const app = createApp();
app.use(Sticky);

代碼演示

基礎用法

將內(nèi)容包裹在 ?Sticky? 組件內(nèi)即可。

<van-sticky>
  <van-button type="primary">基礎用法</van-button>
</van-sticky>

吸頂距離

通過 ?offset-top? 屬性可以設置組件在吸頂時與頂部的距離。

<van-sticky :offset-top="50">
  <van-button type="primary">吸頂距離</van-button>
</van-sticky>

指定容器

通過 ?container? 屬性可以指定組件的容器,頁面滾動時,組件會始終保持在容器范圍內(nèi),當組件即將超出容器底部時,會固定在容器的底部。

<div ref="container" style="height: 150px;">
  <van-sticky :container="container">
    <van-button type="warning">指定容器</van-button>
  </van-sticky>
</div>
export default {
  setup() {
    const container = ref(null);
    return { container };
  },
};

吸底距離

將 ?position? 設置為 ?bottom? 可以讓組件吸附在底部。通過 ?offset-bottom? 屬性可以設置組件在吸底時與底部的距離。

<van-sticky :offset-bottom="50" position="bottom">
  <van-button type="primary">吸底距離</van-button>
</van-sticky>

API

Props

參數(shù) 說明 類型 默認值
position v3.0.6 吸附位置,可選值為 bottom string top
offset-top 吸頂時與頂部的距離,支持 px vw vh rem 單位,默認 px number | string 0
offset-bottom v3.0.6 吸底時與底部的距離,支持 px vw vh rem 單位,默認 px number | string 0
z-index 吸頂時的 z-index number | string 99
container 容器對應的 HTML 節(jié)點 Element -

Events

事件名 說明 回調(diào)參數(shù)
change v3.0.10 當吸頂狀態(tài)改變時觸發(fā) isFixed: boolean
scroll 滾動時觸發(fā) { scrollTop: number, isFixed: boolean }

類型定義

組件導出以下類型定義:

import type { StickyProps, StickyPosition } from 'vant';

主題定制

樣式變量

組件提供了下列 CSS 變量,可用于自定義樣式,使用方法請參考 ConfigProvider 組件。

名稱 默認值 描述
--van-sticky-z-index 99 -


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號