Chrome似乎没有<use>在内联svg中显示元素.以下是一个示例(下面的代码或在http://www.bobwyttenbach.com/chromeuse.html上查看):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Chrome use-tag bug?</title>
</head>
<body>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="200px" height="200px" viewBox="0 0 200 200">
<defs>
<g id="test1">
<circle cx="100" cy="100" r="50" fill="red"/>
</g>
</defs>
<g>
<rect x="0.5" y="0.5" width="199" height="199" stroke="black" fill="none"/>
<use xlink:href="#test1" x="0" y="0"/>
</g>
</svg>
<p>Above is inline svg with a use tag; below is the same svg linked through an object tag. Below is correct.</p>
<object data="chromeuse.svg" width="200" height="200"></object>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
红色圆圈不会出现在内联svg中,但会在通过对象标记链接相同的svg时出现.Safari,Firefox,Opera和Internet Explorer 9都正确显示内联svg.
难道我做错了什么?这是一个已知的Chrome错误(我还没有找到它)?任何解决方法?
好吧,我删除了我的上一篇文章,因为我错误地试图弄清楚为什么 use 元素对我有用而不对你有用。我能说的是,我正在使用此源的修改版本,https://code.google.com/p/svg-edit/,所以简而言之,我的答案是走过去看看他们是如何做到的。我相信当您从他们的库中插入图像时就会证明这一点。
| 归档时间: |
|
| 查看次数: |
8776 次 |
| 最近记录: |