html5 – 跨浏览器SVG preserveAspectRatio

前端之家收集整理的这篇文章主要介绍了html5 – 跨浏览器SVG preserveAspectRatio前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在< img />内的SVG图形标签,适合(无裁剪)标签内,保留宽高比。我在Inkscape中创建了SVG。除了Internet Explorer 9之外,所有浏览器都按预期方式工作。

为了使其在IE 9上工作,我不得不添加viewBox =“0 0 580 220”和preserveAspectRatio =“xMidYMid meet”,并删除width =“580”和height =“220”SVG属性

<svg viewBox="0 0 580 220" preserveAspectRatio="xMidYMid meet">...</svg>

这似乎在所有地方都可以工作,直到我在Webkit上尝试过,而< img />标签纵向拉伸,尽管SVG的宽高比确实保持不变。

当我放回width =“580”和height =“220”属性时,它适用于Webkit,但在IE 9上,aspectr比率丢失。

是否有针对此行为的跨浏览器解决方案?

解决方法

好像我发现解决方案:

您需要保持SVG中的宽度和高度属性

<svg
    width="580"
    height="220"
    viewBox="0 0 580 220"
    preserveAspectRatio="xMidYMid meet"
>...</svg>

并且要使其在IE 9上工作,您需要至少指定< img />标签

<img src="your.svg" style="width: 100%" />

这似乎在各地工作。

原文链接:https://www.f2er.com/html5/168949.html

猜你在找的HTML5相关文章