使用CSS实现中间镂空的图片遮罩效果

Wilona ·
更新时间:2024-09-21
· 996 次阅读

中间镂空的图片遮罩指的大概就是这样一个效果:

20151224120939344.png (383×279)

镂空一个洞的代码
CSS Code复制内容到剪贴板 <div id="container" style="position: relative; margin: 550px 0 0 50px;">    <svg style="position: absolute;" width="400" height="280">    <defs>    <mask id="mask3">    <rect x="0" y="0" width="100%" height="100%" style="stroke:none; fill: #ccc"></rect>    <circle id="circle1" cx="100" cy="100" r="50" style="fill: #000" />    </mask>    </defs>    <rect x="0" y="0" width="100%" height="100%" style="stroke: none; fill: #ccc; mask: url(#mask3)"></rect>    </svg>    <img src="http://img6.cache.netease.com/cnews/2014/11/3/20141103100737855b7.jpg" />    </div>  

镂空多个洞的代码

CSS Code复制内容到剪贴板 <div id="container" style="position: relative;">    <svg style="position: absolute;" width="400" height="280">    <defs>    <mask id="mask3">    <rect x="0" y="0" width="100%" height="100%" style="stroke:none; fill: #ccc"></rect>    <circle id="circle1" cx="100" cy="50" r="50" style="fill: #000" />    <circle id="circle1" cx="300" cy="100" r="50" style="fill: #000" />    <circle id="circle1" cx="100" cy="200" r="50" style="fill: #000" />    </mask>    </defs>    <rect x="0" y="0" width="100%" height="100%" style="stroke: none; fill: #ccc; mask: url(#mask3)"></rect>    </svg>    <img src="http://img6.cache.netease.com/cnews/2014/11/3/20141103100737855b7.jpg" />    </div>  

CSS3 版

用 box-shadow ,代码如下:

CSS Code复制内容到剪贴板 position: fixed;    left: 150px;    top: 35px;    width: 100px;    height: 100px;    border-radius: 100px;    box-shadow: rgba(0,0,0,.8) 0px 0px 0px 2005px;    z-index: 100;  

缺点是只能镂空一个洞。



图片 CSS

需要 登录 后方可回复, 如果你还没有账号请 注册新账号