mask 渐变遮罩属性

图片遮罩

  • hasBgBlock 盒子,背景图为 pic4,仅用于观察渐变过渡效果,可忽略
  • imgBox 盒子
    • 背景图为 pic1
    • 遮罩图层为 mask_front
    • mask-image 的 url 属性生效后,会按照 url 中图片的形状来遮罩背景图


html 复制代码
<div class="hasBgBlock">
  <div class="imgBox"></div>
</div>
<style>
  html,
  body {
    margin: 0;
    padding: 0;
  }

  .hasBgBlock {
    width: 100%;
    background: url("images/pic4.png") no-repeat;
    background-size: cover;
    padding: 80px 0;
  }

  .imgBox {
    width: 640px;
    height: 360px;
    margin: 0 auto;
    background: url("images/pic1.png") no-repeat;
    background-size: cover;
    
    /* 标准属性 */
    mask-image: url('images/mask_front.png');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;

    /* 旧版适配 */
    -webkit-mask-image: url('images/mask_front.png');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
</style>

渐变效果

  • hasBgBlock 盒子,背景图为 pic4,仅用于观察渐变过渡效果,可忽略
  • imgBox 盒子
    • 背景图为 pic1
    • 遮罩图层设置为线性渐变从右到左,从透明到显示
    • 色号 #000,可以替换为其他任何非透明颜色
html 复制代码
<div class="hasBgBlock">
  <div class="imgBox"></div>
</div>
<style>
  html,
  body {
    margin: 0;
    padding: 0;
  }

  .hasBgBlock {
    width: 100%;
    background: url("images/pic4.png") no-repeat;
    background-size: cover;
    padding: 80px 0;
  }

  .imgBox {
    width: 640px;
    height: 360px;
    margin: 0 auto;
    background: url("images/pic1.png") no-repeat;
    background-size: cover;

    mask-image: linear-gradient(to right, transparent, #000);
    -webkit-mask-image: linear-gradient(to right, transparent, #000);
  }
</style>

demo

  • 线性渐变 demo
css 复制代码
mask-image: linear-gradient(to right, transparent, #e73d3d 10%, #68cf3f 90%, transparent);
-webkit-mask-image: linear-gradient(to right, transparent, #e73d3d 10%, #68cf3f 90%, transparent);
  • 径向渐变 demo
css 复制代码
mask-image: radial-gradient(circle at center, #fff 30%, transparent 70%);
mask-size: 100% 100%;
mask-repeat: no-repeat;
-webkit-mask-image: radial-gradient(circle at center, #fff 30%, transparent 70%);
-webkit-mask-size: 100% 100%;
-webkit-mask-repeat: no-repeat;
相关推荐
中文呀2 小时前
三维 GIS 离线缓存实战:逆向 CesiumOfflineCache,并亲手为它补上"自动更新"能力
前端
前进前进前进3 小时前
TRAE 全链路实战:做了一个警示牌一键生成器:纯 Canvas、单文件、零依赖
前端
小万7424 小时前
God‘s Eye View 深度解析:15 路公开信号 + CesiumJS 的浏览器级 OSINT 控制台,60 帧渲染的“真实间谍卫星模拟器”
前端
IT星宿4 小时前
浏览器标签页全是一个图标:我用名字哈希生成 favicon,让每个项目都有身份标识
前端
全栈项目管理程序猿4 小时前
ArcGIS JS 基础教程(32):体元系列 - VoxelSlice 体元切片
前端·javascript
拖孩6 小时前
AI 帮我写的小程序「厨菜记」上线满月了,挣了两百块!!!
前端·后端·微信小程序
用户360055579006 小时前
Kestrel_VLLM - 13 · 为什么排除 MoE FFN Tiling 与 Tensor Core
前端
Hilaku7 小时前
AI 流式输出都用 SSE,什么时候必须换 WebSocket?
前端·javascript·程序员
奇牙coding7 小时前
Codex CLI 升级后多文件编辑静默失效:config.yaml 枚举变更排查与修复指南
java·前端·javascript·ai
小羊没烦恼!7 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp