SVG 精灵:每个实例 preserveAspectRatio
SVG sprites: per-instance preserveAspectRatio
是否有任何方法可以使用 CSS、HTML 或其他方法(除了 JavaScript)?
例如(none 似乎有效):
<!-- inline html on <svg> -->
<svg preserveAspectRatio="xMinYMin">
<use xlink:href="/svg/icon.svg">
</svg>
.
<!-- inline html on <use> -->
<svg>
<use xlink:href="/svg/icon.svg" preserveAspectRatio="xMinYMin">
</svg>
.
<!-- inline css nested in <svg> -->
<svg>
<style>svg { preserveAspectRatio: xMinYMin; }</style>
<use xlink:href="/svg/icon.svg">
</svg>
.
<!-- inline css nested in <use> -->
<svg>
<use xlink:href="/svg/icon.svg">
<style>svg { preserveAspectRatio: xMinYMin; }</style>
</use>
</svg>
.
<!-- head/external css -->
<style>
.icon,
.icon svg {
preserveAspectRatio: xMinYMin;
}
</style>
<svg class="icon">
<use xlink:href="/svg/icon.svg">
</svg>
在 SVG 1.1 中,您只能使用 <image>
元素来引用完整的文件。 SVG 2 放宽了这一点,以便 <use>
元素可以指向完整的文件,但我不确定是否有任何 UA 实现了这一点。
对于图像元素,您可以这样做...
<svg>
<image width="100" height="100" xlink:href="/svg/icon.svg#svgView(preserveAspectRatio(none slice))">
</svg>
在 SVG 1.1 中,图像的宽度和高度是强制性的。 svgView 语法是 documented here
是否有任何方法可以使用 CSS、HTML 或其他方法(除了 JavaScript)?
例如(none 似乎有效):
<!-- inline html on <svg> -->
<svg preserveAspectRatio="xMinYMin">
<use xlink:href="/svg/icon.svg">
</svg>
.
<!-- inline html on <use> -->
<svg>
<use xlink:href="/svg/icon.svg" preserveAspectRatio="xMinYMin">
</svg>
.
<!-- inline css nested in <svg> -->
<svg>
<style>svg { preserveAspectRatio: xMinYMin; }</style>
<use xlink:href="/svg/icon.svg">
</svg>
.
<!-- inline css nested in <use> -->
<svg>
<use xlink:href="/svg/icon.svg">
<style>svg { preserveAspectRatio: xMinYMin; }</style>
</use>
</svg>
.
<!-- head/external css -->
<style>
.icon,
.icon svg {
preserveAspectRatio: xMinYMin;
}
</style>
<svg class="icon">
<use xlink:href="/svg/icon.svg">
</svg>
在 SVG 1.1 中,您只能使用 <image>
元素来引用完整的文件。 SVG 2 放宽了这一点,以便 <use>
元素可以指向完整的文件,但我不确定是否有任何 UA 实现了这一点。
对于图像元素,您可以这样做...
<svg>
<image width="100" height="100" xlink:href="/svg/icon.svg#svgView(preserveAspectRatio(none slice))">
</svg>
在 SVG 1.1 中,图像的宽度和高度是强制性的。 svgView 语法是 documented here