粘性定位(position:sticky)——微信小程序学习笔记

1. 简介

CSS 中的粘性定位(Sticky positioning)是一种特殊的定位方式,它可以使元素在滚动时保持在视窗的特定位置,类似于相对定位(relative),但当页面滚动到元素的位置时,它会表现得像固定定位(fixed)。这种定位方式特别适用于导航栏、侧边栏等需要在页面滚动时保持在特定位置的元素。

具体表现在:

  • 当滚动的高度>元素与浏览器的高度时,会以fixed固定定位显示。
  • 当滚动高度<元素与浏览器高度时,会以relative相对定位显示。

2. 使用粘性定位

要使用粘性定位,你需要设置元素的 position 属性为 sticky,并通过 toprightbottomleft 属性来定义元素在滚动到这个位置时应该保持的距离。

复制代码
<!--pages/mine/mine.wxml-->

<scroll-view  scroll-y class="container">
  <view style="background-color:rgba(255,192,203,50%);">
    <view class="navMenu">
        <view wx:for="{{menuItems}}">{{item}}</view>
    </view>  
    <view class="b">{{text}}</view>
  </view>
</scroll-view>

/* pages/mine/mine.wxss */

.container{
    height: 1000rpx;
    background-color:rgb(137, 207, 235,50%);
}
.navMenu {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  border: 1px solid #ddd;
  background-color: #fff;
  width: 200rpx;
  left: 50rpx;
}
.navMenu view{
    height: 60rpx;
    line-height: 60rpx;
    border-bottom: 1px solid #ddd;
    margin: 0 20rpx;
}
.navMenu :last-child{
    border: none;
}
.b{
  width: 100%;
  height: 3000rpx;
  font-family:'Courier New', Courier, monospace;
  background-color: #eee;
} 

3. 常见用途:

  • 导航栏:使导航栏在滚动时固定在页面顶部。
  • 表格标题:使表格标题在垂直滚动时保持可见。
  • 侧边栏:使侧边栏在滚动时保持在视口内。
  • 其他需要在滚动时保持部分内容可见的场景。

其他定位可参考:

CSS定位:相对、绝对、固定、粘性CSS 定位(position)是一种用于精确控制元素在页面上位置的机制。通过设置po - 掘金

相关推荐
远山枫谷2 小时前
一文理清页面/组件通信与 Store 全局状态管理
前端·微信小程序
齐生11 天前
iOS 知识点 - 渲染机制、动画、卡顿小集合
笔记
木易士心1 天前
一文读懂:微信小程序云数据库直连原理与使用指南
微信小程序·serverless
用户962377954481 天前
VulnHub DC-1 靶机渗透测试笔记
笔记·测试
明月_清风2 天前
小程序云函数:从入门到全栈的“降维打击”指南
前端·微信小程序·小程序·云开发
拉不动的猪2 天前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
齐生12 天前
iOS 知识点 - IAP 是怎样的?
笔记
tingshuo29173 天前
D006 【模板】并查集
笔记
tingshuo29174 天前
S001 【模板】从前缀函数到KMP应用 字符串匹配 字符串周期
笔记
WangHappy4 天前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序