【CSS】简记CSS效果:通过transition(动画过渡属性)实现侧边栏目滑入滑出

需求

在资金明细的页面中,点击按钮时筛选区域从左侧滑出,完成筛选点击确认后调用接口完成数据查询,筛选区域滑入左侧;

基于微信小程序页面实现

wxml代码

复制代码
<view>
  <!-- 操作按钮 -->
  <button type="primary" bindtap="tapOpenSidebar">打开侧边栏目</button>
  <!-- 侧边栏目 -->
  <view class="sidebar-container {{is_show_sidebar ? 'show-sidebar' : ''}}">
    <button type="warn" bindtap="tapCloseSidebar">关闭侧边栏目</button>
    <!-- 其他内容根据实际设计内容填充 -->
  </view>
</view>

wxss代码

复制代码
.sidebar-container {
  height: 100vh;
  background: #F5F5F5;
  box-sizing: border-box;
  box-shadow: 1px 0px 1px #D7D7D7;
  border-top-right-radius: 30rpx;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1;
  /* 设置元素过渡规则 */ 
  transition: width 0.2s ease-out, opacity 0.2s ease-in, visibility 0.2s ease-in;
  /* 过渡前的初始属性 */
  width: 0;
  visibility: 0;
  opacity: 0;
}
/* 过渡完成的属性 */
.show-sidebar {
  opacity: 1;
  visibility: 1;
  width: 80%;
}

js代码

复制代码
Page({

  /**
   * 页面的初始数据
   */
  data: {
    is_show_sidebar: false, // 控制侧边栏滑动开关
  },

  /**
   * 打开侧边栏目
   */
  tapOpenSidebar() {
    this.setData({is_show_sidebar: true})
  },

  /**
   * 关闭侧边栏目
   */
  tapCloseSidebar() {
    this.setData({is_show_sidebar: false})
  }
})

实现效果

实现参考其他博主文档

https://www.cnblogs.com/yadiblogs/p/10145625.html

相关推荐
parade岁月4 分钟前
理解 CSS backface-visibility:卡片翻转效果背后的属性
前端·css
用户47949283569154 分钟前
为什么 react-grab 可以在 Vue 项目中使用?
前端·ai编程
w***42415 分钟前
SpringSecurity的配置
android·前端·后端
yugi98783822 分钟前
TDOA算法MATLAB实现:到达时间差定位
前端·算法·matlab
锂享生活24 分钟前
金句闪卡生成器
前端·javascript·react.js
s***353026 分钟前
SpringMVC新版本踩坑[已解决]
android·前端·后端
涔溪34 分钟前
深入了解 Vite 的核心特性 —— 开发服务器(Dev Server)和热更新(HMR)的底层工作机制
前端·vite
前端一课1 小时前
【vue高频面试题】第 14 题:Vue3 中虚拟 DOM 是什么?为什么要用?如何提升性能?
前端·面试
前端一课1 小时前
【vue高频面试题】第 17 题:Vue3 虚拟 DOM 与 PatchFlag 原理 + 静态节点提升
前端·面试
前端一课1 小时前
【vue高频面试题】第 13 题:Vue 的 `nextTick` 原理是什么?为什么需要它?
前端·面试