前端遮罩层的应用

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

复制代码
<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,功能是开启混合模式,会将该样式和子样式的颜色发生混合

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

相关推荐
brzhang几秒前
用户请求满天飞,如何精准『导航』?聊聊流量路由那些事儿
前端·后端·架构
爱的叹息1 分钟前
Vue 2 和 Vue 3 中 Vue 实例变量方法的功能差异对比,包含关键方法的详细说明和表格总结
前端·javascript·vue.js
Mike_jia14 分钟前
Webbench压力测试全攻略:从入门到企业级实战
前端
拳打南山敬老院15 分钟前
从零搭建MCP服务:基于Stdio的实践指南
前端·javascript·aigc
Mike_jia17 分钟前
DrawDB 终极指南:零代码数据库设计的革命性工具
前端
手可摘星Chen18 分钟前
commitlint安装和配置使用教程
前端·git
brzhang18 分钟前
你以为搞懂了 HTTP?那这些 Headers 的妙用你肯定不知道!
前端·后端·架构
却尘21 分钟前
# 计算机世界的"程"族:从进程到协程的完全指南
前端
用户0062305340521 分钟前
AI助手Copilot辅助Go+Flutter打造全栈式在线教育系统|果fx
前端