当我对 SVG 文件中的图像使用 preserveAspectRatio=none 时,它似乎在 Google Chrome 中不起作用。SVG 不会根据图像的宽度和高度进行缩放。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="test"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 1024 768">
<defs>
</defs>
<image x="288" y="140" width="368" height="160" xlink:href="image.svg" preserveAspectRatio="none" />
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg id="test"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 1024 768">
<defs>
</defs>
<image x="288" y="140" width="368" height="160" xlink:href="image.svg" preserveAspectRatio="none" />
</svg>
在 IE9、最新的 Opera 和 FF 中运行!
如果应该包含的图像没有属性 preserveAspectRatio=none,它似乎不起作用。我不能假设每个 SVG 都有这个属性。所以我需要知道如何覆盖这样的属性,以防 SVG 嵌入了“图像”标签。