马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
最近微信小步伐必要开发新手引导功能,发现必要在遮罩层中间抠一个洞出来,但是不绝不知道该怎么去做,实在很简单,先展示源码:
- <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,功能是开启混淆模式,会将该样式和子样式的颜色发生混淆
然后将洞的颜色调成白色,这样就能显示出类似于一个洞的效果
|