【发布时间】:2019-07-13 04:22:35
【问题描述】:
我目前坚持尝试在 React 中创建堆叠的 <div> 元素,其中顶级 <div> 的内容被屏蔽(尽管这对于 SVG 元素表示法可能并不重要)。
给定两个响应式样式的<div>s — A 和 B — 都包含一个 <img>,其中 B 绝对位于 A 上方,我想对 <div> B 应用一个内联的任意 SVG 掩码它部分暴露了它下面的<div>A的内容。
在视觉上,我正在尝试实现这样的目标......
...用作<div> B 的掩码,使其产生以下效果:
我想避免使用clip-paths,因为他们有limited browser support,我想知道是否有一种方法可以用一种不太复杂的方法来实现这种效果。同样重要的是,我能够在<div>s 中定位<img> 元素,并在需要时添加更多元素——而不是仅仅在<svg> 上设置背景mask-image。
有没有一种不依赖于 SVG <mask> 或 <clipPath> 元素的方法?如果没有,有没有办法在 SVG 掩码中嵌入不仅仅是 <img>(通过 SVG <image>)?
【问题讨论】: