javascript - Snap.svg - Chrome/Firefox 之间的 SVG 渲染不一致

标签 javascript html css svg snap.svg

我是第一次使用动画 SVG/Snap.svg,所以请原谅我在这方面的知识不足。

我制作了一系列 3 个动画 SVG“帧”(400x300 像素),每个都嵌套在一个更大的 SVG(1200x300 像素)中以包含它们。具有 clip 样式属性的 div 元素会在其他两个“框架”未准备好显示时隐藏它们。

使用 Snap.svg,每个帧都应该在一定时间后使用 translate“滑入” View ,并且每个帧内都有一些动画元素。

长话短说:动画在 Firefox 中看起来很完美,但在 Chrome/Webkit 中看起来很糟糕。在 Chrome 中,每个框架看起来只是堆叠在一起,而不是并排放置。

此外,两个元素(奶牛圈 joules 和图形圈 graph)在左上角呈现,而不是使用它们的 translate 属性将它们定位在右中区域。

您可以在 Plunker 中看到动画。请在两种浏览器中尝试一下,看看我的意思。

http://plnkr.co/UhTy83

Firefox GIF 屏幕截图:

enter image description here

Chrome GIF 屏幕截图:

enter image description here

最佳答案

感谢伊恩对我的问题的评论!换出 <svg> <g> 的标签(group) 标签解决了这个问题。 Firefox 允许您转换 <svg> 对我来说很有趣元素,但 Webkit 没有。

之前:

<svg class="slides" width="1200" height="300">
    <svg class="slide1" width="400" height="300"></svg>
    <svg class="slide2" width="400" height="300"></svg>
    <svg class="slide3" width="400" height="300"></svg>
</svg>

之后:

<svg class="slides" width="1200" height="300">
    <g class="slide1"></g>
    <g class="slide2"></g>
    <g class="slide3"></g>
</svg>

关于javascript - Snap.svg - Chrome/Firefox 之间的 SVG 渲染不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33420979/

相关文章:

html - Div 不会随内容正确展开?

javascript - 类型错误 : Cannot read property 'url' of undefined

javascript - contenteditable - 选择 2 个子段落并覆盖文本(Firefox 问题)

javascript - IE 9及以下版本不切换缩略图

jquery - 使用 jQuery prop() 按名称添加 html 实体

python - 使用 import smtplib 发送电子邮件时在 Python 中呈现 HTML

javascript - 将 HTML5 页面另存为 PDF

javascript - 使用 Javascript 在弹出窗口中打开链接

html - 在绝对放置的 img 正下方放置一个 figcaption

css - 当悬停在另一个元素上时触发元素的过渡