当前位置:首页 > uni-app

uniapp搜索框吸顶

2026-03-26 12:24:51uni-app

uniapp实现搜索框吸顶效果

在uniapp中实现搜索框吸顶效果,可以通过以下几种方式实现:

使用CSS的position: sticky属性

.search-box {
  position: sticky;
  top: 0;
  z-index: 999;
  background-color: #ffffff;
}

这种方法简单高效,适用于大多数场景。注意需要设置z-index确保搜索框位于其他元素上方,同时设置background-color防止内容穿透。

监听页面滚动事件

uniapp搜索框吸顶

onPageScroll(e) {
  if (e.scrollTop > 200) {  // 200为触发吸顶的滚动阈值
    this.isFixed = true
  } else {
    this.isFixed = false
  }
}

在模板中使用动态class绑定:

<view :class="['search-box', isFixed ? 'fixed' : '']"></view>

对应CSS:

uniapp搜索框吸顶

.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

使用uniapp的scroll-view组件

<scroll-view scroll-y class="scroll-view" @scroll="handleScroll">
  <view class="search-box" :style="{position: isFixed ? 'fixed' : 'static'}"></view>
  <!-- 其他内容 -->
</scroll-view>

注意事项

  • 在iOS设备上,position: sticky可能存在兼容性问题,建议增加-webkit-sticky前缀
  • 吸顶时需要考虑状态栏高度,避免被遮挡
  • 在NVUE环境下需要使用专有的sticky属性实现吸顶效果

完整示例代码

<template>
  <view>
    <view class="search-box" :class="{'fixed': isFixed}">
      <input type="text" placeholder="搜索内容" />
    </view>
    <view class="content">
      <!-- 页面内容 -->
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      isFixed: false
    }
  },
  onPageScroll(e) {
    this.isFixed = e.scrollTop > 0
  }
}
</script>

<style>
.search-box {
  height: 100rpx;
  background: #fff;
  display: flex;
  align-items: center;
  padding: 0 30rpx;
}

.search-box.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.1);
}

.content {
  padding-top: 100rpx; /* 防止内容被遮挡 */
}
</style>

标签: uniapp框吸顶
分享给朋友:

相关文章

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp改变checkbox选中状态

uniapp改变checkbox选中状态

修改 checkbox 选中状态的方法 在 uniapp 中修改 checkbox 的选中状态可以通过以下几种方式实现: 绑定 v-model 控制状态 通过数据绑定方式控制 checkbox 的…

uniapp 美颜

uniapp 美颜

uniapp 美颜实现方法 在uniapp中实现美颜功能可以通过多种方式完成,以下是一些常见的方法: 使用原生插件 uniapp支持调用原生插件实现美颜效果,适用于对性能要求较高的场景。需要开发原生…

重构uniapp

重构uniapp

重构 Uniapp 项目的关键方法 代码结构优化 将页面、组件、静态资源按功能模块划分,避免全部堆放在根目录。建议采用以下结构: src/ ├── components/ // 通用组件…

uniapp 搜索

uniapp 搜索

uniapp 搜索功能实现方法 全局搜索组件集成 在pages.json中配置全局搜索栏,适用于所有页面顶部显示搜索框。示例代码: "globalStyle": { "navigationBa…

uniapp yuv

uniapp yuv

YUV 格式在 UniApp 中的应用 在 UniApp 中处理 YUV 格式数据通常涉及视频编解码、图像处理或摄像头数据采集。YUV 是一种颜色编码系统,常用于视频传输和图像处理,与 RGB 格式相…