前端遮罩层的应用

[复制链接]
发表于 2024-10-25 19:20:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

        最近微信小步伐必要开发新手引导功能,发现必要在遮罩层中间抠一个洞出来,但是不绝不知道该怎么去做,实在很简单,先展示源码:
  1. <template>
  2.   <div class="num01">
  3.     hello
  4.     <div class="mask">
  5.       sadasdasdassssssssssssssssssssssss
  6.       <div class="hole"></div>
  7.       <div class="test01"></div>
  8.     </div>
  9.   </div>
  10. </template>
  11. <style scoped>
  12. .num01{
  13.   background: linear-gradient(to right, #ff0000, #00ff00);
  14.   width: 100vw;
  15.   height: 100vh;
  16.   display: flex;
  17. }
  18. .mask{
  19.   background: rgba(128,128,128,0.5);
  20.   width: 50%;
  21.   height: 50%;
  22.   top: 10%;
  23.   left: 20%;
  24.   mix-blend-mode: multiply;
  25.   position: fixed;
  26. }
  27. .hole{
  28.   width: 30%;
  29.   height: 30%;
  30.   top:15%;
  31.   left:50%;
  32.   position: relative;
  33.   background: #fff;
  34. }
  35. .test01{
  36.   width: 50%;
  37.   height: 50%;
  38.   top: 10%;
  39.   left: 10%;
  40.   position: relative;
  41.   background: #000000;
  42. }
  43. </style>
复制代码
        ok,然后说一下原理
        

        起首是设置一个盒子,在盒子上套一层遮罩,然后使用在遮罩上面抠出一个洞来
        难点是如何扣除一个洞呢?必要在遮罩层加一个css样式:mix-blend-mode:multiply,功能是开启混淆模式,会将该样式和子样式的颜色发生混淆
        然后将洞的颜色调成白色,这样就能显示出类似于一个洞的效果
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表