react实现简单的遮罩层

这是一种常见的效果,一般为了突出显示内容时会被用到。例如下面的我所写的效果我希望点击后,我可以将剩余的部分填充为黑色(遮罩层)。实现它不算太难,难在高度适应性。
我记录一下我的实现 ps?:这里是部分代码,因为是实际项目中,所以内容较少,过后会继续补充~
在这里插入图片描述

css部分

.mask{
  background: rgba(0,0,0,0.4) !important;
  z-index: 10;
  height: 100vh;
  position: fixed;
  width: 100vw;
}
.selectMask_box{
  background: rgba(0,0,0,0);
  transition: all .2s linear
}

目前做的项目是基于react移动端的,我会在state内定义dateSelected这一属性的bool值,每点击一次我就会取反,以此来判断是显示还是隐藏。

js部分

handleMask=()=>{
this.setState({
   dateSelected: !this.state.dateSelected
})
}
<div
    onClick={this.handleMask}
    className={`selectMask_box ${this.state.dateSelected ? "mask" : ""} `} >

  //这里是待展示的内容,<div>...</div>
 //你可以自己设置dataSelected的初始值,同时请注意注意三元运算的顺序。
</div>

作为一个实习生还在学习中,及时记录自己遇到的或大或小的知识点,这篇文章我会在在丰富一下,希望对大家有所帮助。
分割线----------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余光、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值