taro小程序里用css弹出选择规格的窗口

在这里插入图片描述

  constructor() {
    super(...arguments)
    this.state = {
      bgShadow: false,
      skuPop: false
    }
  }
  handleClickBtn() {
    this.setState(() => {
      return {
        skuPop: !this.state.skuPop,
        bgShadow: !this.state.bgShadow
      }
    })
  }

点击相应的按钮触发handleClickBtn给添加样式
bg-shadow,bg-shadow_hide是黑色背景遮罩,

sku-select__box_pop是利用transform: translateY(0%);弹出来动画
过渡效果主要是transtions

{<View
 onClick={this.handleClickBtn.bind(this)}
  className={`${bgShadow && "bg-shadow bg-shadow_hide"}`}
></View>}
<View
  className={`sku-select__box ${skuPop && "sku-select__box_pop"}`}
>
  <SkuSelect />
</View>
.bg-shadow {
  height: 200vw;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  background: transparent;
  transition: background 0.3s ease-in;

  &_hide {
    background: rgba($color: #000000, $alpha: 0.5);
  }
}
.sku-select__box {
  position: fixed;
  bottom: 0;
  z-index: 1;
  transform: translateY(100%);
  transition: transform 0.3s ease-in;

  &_pop {
    transform: translateY(0%);
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值