scroll-view使用position:sticky不能一直生效

當(dāng)在scroll-view中使用sticky元素時(shí) 為確保其正常響應(yīng)滾動(dòng)效果 需要在scroll-view內(nèi)部添加一個(gè)無樣式的view元素 作為所有內(nèi)容的根元素 這樣即使sticky元素超出了scroll-view的原始高度 它也能正確地識(shí)別與頂部的相對(duì)位置 保持其應(yīng)有的樣式和交互效果

<template>  
    <view class="content">  
        <scroll-view scroll-y="true" class="scroll-view">  
            <view>  
                <view class="header">  
                    我是固定標(biāo)題  
                </view>  
                <view class="body">  
                    我是內(nèi)容  
                </view>  
                <view class="line">  
                    我是父元素高度  
                </view>  
            </view>  
        </scroll-view>  
    </view>  
</template>  
<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello',  
            };  
        },  
        onLoad() {},  
        methods: {}  
    };  
</script>  
<style lang="scss" scoped>  
    .scroll-view {  
        height: 100vw;  
        /* overflow-y: auto; */  
        position: relative;  
        color: #fff;  
        text-align: center;  

        .header {  
            background-color: red;  
            height: 80rpx;  
            line-height: 80rpx;  
            position: sticky;  
            top: 0rpx;  
        }  

        .body {  
            background-color: green;  
            height: 800vh;  
        }  

        .line {  
            position: absolute;  
            top: 0;  
            height: 100%;  
            background-color: royalblue;  
            z-index: 2;  
        }  
    }  
</style>
image.png

方法是在scroll-view中添加一個(gè)父級(jí)容器,這樣可以使用position: sticky根據(jù)新添加的父級(jí)容器高度來實(shí)現(xiàn)吸附效果,而不是根據(jù)scroll-view的滾動(dòng)高度。這是一個(gè)很好的解決方案,可以避免在scroll-view中使用position: fixed的問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容