根据我阅读的一些教程,例如这篇和这篇,在使用
理论上看起来没问题,但是
去年有个问题的答案建议完全删除
我制作了一个JSFiddle来尝试比较不同的用例。
是否有正确的做法?那个溢出是否正常并应该被忽略?还是我在做某些根本性错误? 编辑:看起来当在
<use>
元素插入SVG <symbol>
时,只需在<symbol>
标签中定义viewBox
属性一次即可。理论上看起来没问题,但是
<use>
元素的内容会大量溢出其父级<svg>
元素(似乎始终按父级SVG元素的大小进行缩放,尽管似乎取决于CSS样式)。虽然这似乎不会引起任何实际问题(溢出被隐藏了,因此没有不必要的滚动条或布局问题),但是总感觉有些“不对”。去年有个问题的答案建议完全删除
<symbol>
元素中的viewbox
属性,并在<svg>
标签中声明它。这样做的好处之一似乎是<symbol>
标签应该意味着只需要在每次插入时声明一次viewbox
,而不是每次都声明。我制作了一个JSFiddle来尝试比较不同的用例。
是否有正确的做法?那个溢出是否正常并应该被忽略?还是我在做某些根本性错误? 编辑:看起来当在
<symbol>
中仅设置viewbox
属性时,它也会将整个父级SVG标记缩放。应该使用每个use
显式设置SVG尺寸吗?