mask-image实现聚光灯效果

这篇博客分享了如何利用CSS的mask-image属性来实现聚光灯效果。作者介绍了mask-image的不同属性值,如none、url(jpg/png/svg)和渐变,并通过实例展示了如何使用SVG和渐变创建独特的视觉效果。文章提到了良好的浏览器兼容性和一个有趣的聚光灯效果示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[](()兼容性

=============================================================

目前来看兼容性还是不错的!

[](()相关属性

==============================================================

mask-clip

mask-composite

mask-image

mask-mode

mask-origin

mask-position

mask-repeat

mask-size

mask-type

上面这几个属性呢background-image的相关属性用法差不多,所以某些属性在本文中就不赘述了,想学习的童鞋,请移步主页查看。

[](()mask-image

====================================================================

[](()属性值


[](()none;

没有图片,设置了这个属性,其他的mask-* 属性自然没有用处了

[](()url(jpg/png/svg);

这里我们看一下svg的效果

首先再阿里iconfont上复制一个svg 保存为mk.svg

![](https://img-blog.csdnimg.cn/img_convert/e8d44360a5e33079c3ad9d6c1e2d9d96.pn 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 g)

然后来使用它:

#masked {

width: 200px;

height: 200px;

background-color: #8cffa0;

-webkit-mask-image: url(./mk.svg);

-webkit-mask-repeat: no-repeat;

-webkit-mask-origin:content-box;

border: 10px solid #000;

}

这里我们开始来分析:

首先:大家看到的淡黄色的边框是鼠标审查元素看到的,真正的是下面这样,并没有边框的

首先我们定义了背景颜色,淡绿色,mask是上面的svg,mask的起始位置是内容区域,最后定义了一个边框,最后从效果图中我们可以得出一下结论

1. mask-image 是对整个元素生效的(包括border)

2. mask-image 是mask透明背景显示,mask不透明背景看不见

3. 我们是无法看到mask本身的内容的,只能看到背景的内容。

[](()渐变

-webkit-mask-image: linear-gradient(rgba(0, 0, 0, 1.0), transparent 50%);

mask-image: linear-gradient(rgba(0, 0, 0, 1.0), transparent);

[](()image(url(mask.png), skyblue);

在最新版的谷歌和火狐中均无法识别。

[](()有趣的例子-聚光灯


效果如下:

实现逻辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值