您的位置:首页 > Web前端 > CSS

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

2015-12-25 12:08 1061 查看
中间镂空的图片遮罩指的大概就是这样一个效果:



镂空一个洞的代码

<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>


镂空多个洞的代码


<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 ,代码如下:

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;


缺点是只能镂空一个洞。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: