响应式SVG图像掩码

时间:2014-03-23 03:02:26

标签: css html5 svg

我使用SVG作为图像蒙版,但我无法弄清楚如何在调整页面大小时使SVG改变其大小。当我更改窗口大小时,SVG内部的图像会调整大小,但SVG不会。关于如何解决这个问题的任何想法?

这是SVG代码:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
    viewBox="0 0 480 302" enable-background="new 0 0 480 302" xml:space="preserve">
<defs>
    <mask id="maskHome" maskUnits="objectBoundingBox">
        <path fill="#FFFFFF" d="M240,0C91,0,0,44,0,44v214c0,0,91,44,240,44s240-44,240-44V44C480,44,389,0,240,0z"/>
    </mask>
</defs>
</svg>

CSS:

.maskHome {
    mask: url("../img/maskHome.svg#maskHome");
    -webkit-mask-image: url("../img/maskHome.svg");
    height:100%;
    width: 100%;
}

HTML:

<img class="maskHome" src="img/banner2.png" width="100%" height="100%" />

1 个答案:

答案 0 :(得分:0)

您需要做的就是在面具声明中使用封面。这应该有用。

.maskHome {
    mask: url("../img/maskHome.svg#maskHome") center center / cover;
    -webkit-mask-image: url("../img/maskHome.svg") center center / cover;
    height:100%;
    width: 100%;
}
相关问题