前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序----导航栏透明渐变一(MUI导航栏透明渐变)

微信小程序----导航栏透明渐变一(MUI导航栏透明渐变)

作者头像
Rattenking
发布2021-02-01 12:09:10
1.5K0
发布2021-02-01 12:09:10
举报
文章被收录于专栏:RattenkingRattenking

导航栏透明渐变效果

导航栏透明渐变
导航栏透明渐变

实现原理

  1. 利用position:absolute在导航下定位一个view作为背景渐变使用;
  2. 通过改变改view的opacity来实现透明渐变。

WXML

代码语言:javascript
复制
<!--pages/scroll/scroll.wxml-->
<view style="height:100%;position:fixed;width:100%;">
  <scroll-view scroll-y="false"  bindscroll="scroll" style="height:100%;">
    <view class="page-group">
      <view class="page-group-position" style="opacity:{{scrollTop / 400 > 0.9 ? 0.9 : scrollTop / 400}}"></view>
      <view class="page-nav-list"><text>首页</text></view>
      <view class="page-nav-list"><text>活动</text></view>
      <view class="page-nav-list"><text>菜单</text></view>
      <view class="page-nav-list"><text>我的</text></view>
    </view>
    <view class="page-banner">
      banner
    </view>
    <view class="goods-list">
      goods-list1
    </view>
    <view class="goods-list list2">
      goods-list2
    </view>
    <view class="goods-list list3">
      goods-list3
    </view>
    <view class="goods-list list4">
      goods-list4
    </view>
  </scroll-view>
</view>

WXSS

代码语言:javascript
复制
.page-banner{height: 500rpx;background-color: greenyellow;padding: 20rpx;color:#fff;padding-top: 100rpx;}
.page-group{
  display: table;
  width: 100%;
  table-layout: fixed;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
.page-group-position{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: blueviolet;
  opacity: 0;
  z-index: -1;
}
.page-nav-list{
  padding:30rpx 0 ;
  display: table-cell;
  text-align: center;
  width: 100%;
  color: #fff;
}
.goods-list{
  height: 500rpx;
  background-color: green;
  padding: 20rpx;
  color:#fff;
}
.list2{background-color: blue;}
.list3{background-color: yellow;}
.list4{background-color: red;}

JS

代码语言:javascript
复制
Page({
  data: {
    scrollTop: null
  },
  //滚动条监听
  scroll: function (e) {
    this.setData({ scrollTop: e.detail.scrollTop })
  },
})

总结:

  1. 需要scroll-view组件配合使用才能获取scrollTop;
  2. scrollTop / 400 > 0.9,这里400的距离是根据需求改变,0.9是背景最后的半透明值,可以根据页面调节。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-12-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导航栏透明渐变效果
  • 实现原理
  • WXML
  • WXSS
  • JS
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档