我正在尝试使用 css 调整带有 mask 的 svg 图像的大小。我遇到的问题是 Safari,因为它似乎不允许 CSS 类覆盖默认值。这是内联 svg 代码:
<svg width="48" height="48" class="icon green">
<defs>
<mask id="svgmask-947">
<image class="svg-image" width="48" height="48" href="/themes/custom/assets/media/images/fa-png/campus.png"></image>
</mask>
</defs>
<rect class="icon-mask" mask="url(#svgmask-947)" width="48" height="48" y="0" x="0"></rect>
如果我简单地在 CSS 中使用新的宽度/高度向它应用任何类,SVG 将不会调整大小。这是示例 CSS:
.icon, rect, mask image {
width:24px;
height: 24px;
}
在所有其他浏览器中应用 CSS 都可以,只是 Safari 不行。
感谢您的任何见解和帮助。
最佳答案
找到解决方案,因为我缺少 viewbox 属性:
<svg width="48" height="48" class="icon green" viewBox="0 0 48 48">
<defs>
<mask id="svgmask-980">
<image class="svg-image" width="48" height="48" href="/themes/custom/assets/media/images/fa-png/campus.png"></image>
</mask>
</defs>
<rect class="icon-mask" mask="url(#svgmask-980)" width="48" height="48" y="0" x="0"></rect>
关于css - Safari SVG 图像蒙版不使用 CSS 调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58698024/