【发布时间】:2017-11-20 19:39:36
【问题描述】:
我有一个 SVG 图形,其宽度是视口的百分比,其高度是固定的。在图形内部,我有一个 SVG image element,我希望始终填充其直接容器而不会扭曲,这与使用 CSS background-size: fill 实现的效果非常相似。
如何使用我的 SVG 来实现这一点?
这是问题的最小设置 (and a codepen):
<svg width=100% height=300>
<rect width=100% height=300 stroke="blue" stroke-width=30 fill="transparent" />
<image xlink:href="//unsplash.it/500/300" width=100% height=100% />
</svg>
在上面的 sn-p 中,无论视口宽度如何,我都需要图像填充整个容器而不失真(在本例中,容器是根 SVG)。
我无法切换到常规 HTML,因为我正在处理的图形将 SVG 剪贴蒙版应用于 image 元素。
我发现了这个问题,这似乎与我要问的问题很接近,但我认为不能回答我的问题:
How can I make my embedded svg image stetch to fill a container?
为了避免the XY problem,这里是the actual SVG graphic I'm working on。而我想要达到的(固定高度,可变宽度)结果:
【问题讨论】: