【发布时间】:2020-08-28 06:58:35
【问题描述】:
我有一个奇怪的问题,我想屏蔽图像,为了简单起见,我尝试了 svg 方式,如下所示:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="217.714" height="321.143" viewBox="0 0 58 85">
<defs>
<mask id="a">
<path d="M22.5 0L45 31.5 22.5 63 0 31.5z" fill="#fff"/>
</mask>
</defs>
<image xlink:href="https://upload.wikimedia.org/wikipedia/commons/9/97/The_Earth_seen_from_Apollo_17.jpg" mask="url(#a)" preserveAspectRatio="xMidYMid slice" width="45" height="63" transform="translate(6.5 14.5)"/>
</svg>
我的问题是当我嵌入此图像时,它似乎是透明的。当我在浏览器中打开它时,它会按预期工作。但是,当我使用 <img src="my.svg"> 之类的 img 标签添加它时,它采用 svg 中定义的尺寸,但它是透明的。
我尝试上传 svg,但文件类型不受支持,因此我创建了一个 gist,但它也无法正常工作。太奇怪了。
应该是这样的:
请告诉我为什么这没有按预期工作。如果重要的话,我在 Windows 10 上使用 Firefox 76。
【问题讨论】: