【发布时间】:2015-01-29 16:48:13
【问题描述】:
我正在使用带有蒙版的 SVG 元素来“剔除”或“剔除”文本,以便显示底层图像。我当前设置的唯一问题是,当浏览器窗口调整大小时,图像元素会拉伸和扭曲,而不是保持固定的纵横比/大小。
我一直在研究 svg 规范并阅读了有关 preserveAspectRatio 的内容,但似乎没有任何效果。
这是我使用的基本元素:
<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<mask id="masktext1">
<rect width="100%" height="100%" fill="#fff" />
<text width="100%" class="svgtext">TEXT 1</text>
</mask>
</defs>
<image xlink:href="https://s3.amazonaws.com/f.cl.ly/items/1w3F3d130t2q1i2n2b2Y/pattern.png" mask="url(#masktext1)" width="100%" height="100%" x="0" y="0" preserveAspectRatio="xMinYMin slice" />
</svg>
这是一个 JS Fiddle 示例。请注意,当您水平调整窗口大小时,该问题是可见的。
【问题讨论】:
-
@chipChocolate.py 感谢您的提示!我现在正在查看 viewbox,但只是为了澄清一下,您是说只需要在父 svg 元素上设置值吗?
标签: html css svg image-scaling