前端遮罩层的应用

最近微信小程序需要开发新手引导功能,发现需要在遮罩层中间抠一个洞出来,但是一直不知道该怎么去做,其实很简单,先展示源码:

复制代码
<template>
  <div class="num01">
    hello
    <div class="mask">
      sadasdasdassssssssssssssssssssssss
      <div class="hole"></div>
      <div class="test01"></div>
    </div>
  </div>
</template>

<style scoped>
.num01{
  background: linear-gradient(to right, #ff0000, #00ff00);
  width: 100vw;
  height: 100vh;
  display: flex;
}

.mask{
  background: rgba(128,128,128,0.5);
  width: 50%;
  height: 50%;
  top: 10%;
  left: 20%;
  mix-blend-mode: multiply;
  position: fixed;
}

.hole{
  width: 30%;
  height: 30%;
  top:15%;
  left:50%;
  position: relative;
  background: #fff;
}

.test01{
  width: 50%;
  height: 50%;
  top: 10%;
  left: 10%;
  position: relative;
  background: #000000;
}
</style>

ok,然后说一下原理

首先是设置一个盒子,在盒子上套一层遮罩,然后使用在遮罩上面抠出一个洞来

难点是如何扣除一个洞呢?需要在遮罩层加一个css样式:mix-blend-mode:multiply,功能是开启混合模式,会将该样式和子样式的颜色发生混合

然后将洞的颜色调成白色,这样就能显示出类似于一个洞的效果

相关推荐
RD_daoyi7 分钟前
Google核心算法不再通知!全年持续滚动更新
大数据·服务器·前端·网络·搜索引擎·.net
এ慕ོ冬℘゜12 分钟前
纯 CSS 实现自定义 Switch 开关(商品上下架滑块)
前端·css
再吃一根胡萝卜12 分钟前
dompdf.js 分页功能完整实现指南
前端
wordbaby16 分钟前
App 热更新(OTA)原理深解 —— 以 React Native 为例
前端·react native
再吃一根胡萝卜26 分钟前
Vue + dompdf.js 实现简历分页导出的完整踩坑记录
前端
其美杰布-富贵-李39 分钟前
第 6 篇:相机与 OrbitControls
前端·javascript·three.js
lichenyang45343 分钟前
从图片生成任务到用户隔离:AIGC Creative Studio 后端与 PostgreSQL 建模实践
前端·后端
小黑技术栈1 小时前
关于前端的一些话
前端
无人生还2 小时前
从 Vue3 到 React · 快速上手系列第 11 篇:状态管理
前端·vue.js·react.js
GuWenyue2 小时前
90%前端写React TS都踩坑!一套父子组件+Hooks完整实战,彻底搞懂类型约束
前端·react.js