html - SVG 渲染问题 - Firefox 切断了兄弟 SVG 元素 - 有解决方法吗?
问题描述
<div>
<svg id="svg_viewport"
width="800" height="800"
style="background-color: pink"
>
<svg id="o_1"
x="10" y="10" width="200" height="200"
>
<image href="https://www.1kfa.com/table/img/image.png"
height="200" width="200"></image>
</svg>
<svg id="o_2"
x="0" y="100" width="100" height="100"
>
<rect id="r_2"
width="100" height="100"
fill="green"
></rect>
</svg>
</svg>
</div>
这在 Chromium 中有效,但在 Firefox 中,绿色矩形被切断。就像浏览器将其呈现在 svg 的图像“内部”一样o_1
。
有没有人遇到过这个问题?解决方法?
解决方案
我想我找到了解决方法。
通过添加viewBox
,Firefox 决定正确呈现它。见第 8 行:
<div>
<svg id="svg_viewport"
width="800" height="800"
style="background-color: pink"
>
<svg id="o_1"
x="10" y="10" width="200" height="200"
viewBox="0 0 200 200"
>
<image href="https://www.1kfa.com/table/img/image.png"
height="200" width="200"></image>
</svg>
<svg id="o_2"
x="0" y="100" width="100" height="100"
>
<rect id="r_2"
width="100" height="100"
fill="green"
></rect>
</svg>
</svg>
</div>
推荐阅读
- javascript - Javascript 应用程序中是否有脚本扩展的先例?
- python - 将字符串与django中的数据库匹配
- prometheus - 具有离线功能的 Prometheus Federation
- windows - Powershell替换包含文件的路径
- swift - 启动应用程序mac后图标状态栏消失
- php - 如何在 Laravel 5.5 中正确编写控制器方法的单元测试?
- android - 找不到图书馆 Google Play 计费或附加功能
- mysql - Mysql - 搜索多词查询
- git - 在 rebase 中使用 git 重新排序提交
- telnet - nghttpd 连接自动关闭