iOS不显示SVG在<img>标签
iOS not displaying SVG in <img> tag
我有一个简单的<img>
标记与SVG源,这是不显示在Chrome和Safari上的iOS (iPad 3, iOS 7.1)。
这是一个简单的例子。
SVG在Windows 8.1的Safari上也显示不正确(它在x轴上被压扁)。
我已经从Illustrator中导出了这个SVG,它完全是在Illustrator中创建的。我怀疑SVG本身有问题,这些浏览器无法正确解释,但我不知道它可能是什么。我已经搜索了以前的案例,但通常人们会遇到内联svg或对象svg的问题,而我找到的解决方案都不适用于我的案例。
编辑:经过进一步调查,我发现我的SVG图像确实存在问题。这篇博客文章有一个带有SVG源代码的<img>
,所以有证据表明它是有效的。
同样,使用<object>
是不可接受的,因为我还需要将此图像用作background-image
,这也是iOS官方支持的(并且在博客文章中也有),但与我的图像不兼容。
所以我的问题是:是否有陷阱在创建SVG图像可能导致它不显示在某些浏览器上?
我有这个问题。我的svg没有出现在iOS 7上。但当时正在开发iOS 8.x。问题出在svg文件上。在文本编辑器中查看svg文件时,svg标签中没有定义宽度和高度。
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
<g>
...
</g>
</svg>
添加宽度和高度属性后,我可以在img标签中看到我的svg。
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
…
尝试将svg嵌入为对象。也可以阅读这个http://benfrain.com/attempting-to-fix-responsive-svgs-in-desktop-safari
已测试的html如下(不需要.js):
<html>
<head>
<style>
object {
width: 100%;
display: block;
height: auto;
position: relative;
padding-top: 0;
}
svg {
width: 100%;
height: 100%;
/* position: absolute;
top: 0;
left: 0;*/
}
</style>
</head>
<body>
<object data="http://monovertex.com/static/Logo.svg" type="image/svg+xml">
<img src="http://monovertex.com/static/Logo.svg" width="200" height="200"/>
</object>
</body></html>
如果由于缺乏对SVG的原生支持而使用SVG -我会考虑使用SVGKit - https://github.com/SVGKit/SVGKit
我用它做了一些我在飞行中做的演示,它工作得很好。
相关文章:
- 我应该如何在 UL 内触发 IMG 标签的点击
- Grails-设置g:点击img标签选择值
- JavaScript on Click 事件在 img 标签上无法正常工作
- 在容器中,我有文本和 img 标签,如何仅使用 js 或 jquery 获取文本
- 如何在单击“提交”按钮后使文本区域和 IMG 标签只读
- javascript 将 IMG 标签中的图像转换为 标签中的实际链接图像
- 当在 img 标签中提到类时,Href 不起作用
- 使用 javascript 从图像数组中更改 img 标签 src.骰子游戏
- 捕获 img 标签并更改图像
- jQuery 按 ID 名称删除 img 标签不起作用
- 在 javascript 中调用 img 标签
- 在 jQuery 中获取 IMG 标签的 ID
- 如何访问嵌套在 h1 标签中的 img 标签元素
- HTML Img 标签使用 Javascript 重新加载
- 在 img 标签上叠加图形边框
- 如何在TR的最后一个TD中添加事件或将ID属性添加到IMG标签
- 安卓:在 img 标签中显示捕获的图像
- 我收到错误.我需要创建 img 标签
- 如何使用jquery添加img标签的alt属性
- 将图像从 img 标签的 src 上传到 php