css - 无法获得响应式 SVG 图像掩码以在 Firefox 中工作

标签 css firefox svg responsive

我尝试用 SVG 屏蔽 Firefox 中的图像。图像是响应式的,因此蒙版也应该是响应式的。

使用简单的 SVG 圆形蒙版和属性 maskUnits="objectBoundingBox"maskContentUnits="objectBoundingBox",SVG 蒙版按预期工作。看这个fiddle .

但是当我从 Illustrator 中导出我的路径并以与简单的 SVG 圆形蒙版相同的方式包含它时,它不起作用。 当我删除 maskUnits="objectBoundingBox"maskContentUnits="objectBoundingBox" 属性时,图像被屏蔽,但没有响应。看这个fiddle .

我尝试包含 Illustrator 所使用的 viewbox 属性,以恢复响应能力,但这行不通。

有人知道如何让响应式 SVG 图像 mask 发挥作用吗?

我在 OSX 上使用当前的 Firefox 45.0.2。谢谢!

最佳答案

请试试这个 fiddle ,虽然我只在方形 SVG(高度 = 宽度)上测试了我的计算器,但是当我在你的情况下尝试最高尺寸值 800px 时它运行良好。

HTML:

<svg height="0" viewBox="0 0 800 500">
  <mask id="m1" maskUnits="objectBoundingBox" maskContentUnits="objectBoundingBox">
    <path d="M0,0.05C0.03375,0.03,0.08625,0.00625,0.15125,0.0025,0.25375-0.0025,0.27375,0.04625,0.3775,0.04875c0.12125,0.0025,0.15-0.065,0.25375-0.0425,0.06125,0.0125,0.0675,0.04125,0.12625,0.055C0.84625,0.08375,0.9325,0.0425,0.99875,0V0.625L0,0.625V0.05Z" style="fill:white"/>
  </mask>
</svg>
<img src="https://placebear.com/800/500" id="test" alt="">

CSS:

#test { width: 100%; height: auto; mask: url(#m1); }

如果您有任何问题,请告诉我。

关于css - 无法获得响应式 SVG 图像掩码以在 Firefox 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36862865/

相关文章:

css - 图片与 CSS 对齐会导致 Firefox/Windows 出现问题,但不会导致 Firefox/linux 出现问题

firefox - mozwebsocket数据包结构

html - SVG 剪切路径缩放

html - Center Bootstrap Navbar——不明白为什么导航不会居中

javascript - 如何判断 DOM 元素在当前视口(viewport)中是否可见?

javascript - window.getMatchedCSSRules 用于所有规则,包括其伪元素和伪类规则

javascript - 缩放加载的 SVG 并使用 snap svg 放大

javascript - SVG foreignObject 元素的 dagre-d3 IE 解决方法?

CSS HTML 实体

html - 使父宽度小于子宽度