css - Safari SVG 图像蒙版不使用 CSS 调整大小

标签 css svg safari mask

我正在尝试使用 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/

相关文章:

html - DOM 中的 SVG 代码直接与作为 css 背景源 : effect on DOM traversal

ios - iOS7 中缺少 safari history.plist 文件

javascript - 在 ios safari 隐私浏览模式下更改位置时保留存储空间

html - 使用图像 Sprite 和 CSS 的文本

css - Rails 4 image_tag 不从 Assets 加载图像

svg - 在 flutter 中改变路径的高度和宽度

jquery - 进入视口(viewport)时显示 svg 动画

javascript - Safari 在后台选项卡中延迟 setInterval/setTimeout (interval > 1000ms)

CSS:固定父级的内部div中的滚动条

html - 我怎样才能使文本居中,因为它出现在 border-right 的边缘