【发布时间】:2016-05-04 16:16:57
【问题描述】:
我正在尝试使用 SVG sprite 技术在需要时显示单个 SVGS,并通过“使用”元素调用它们。我知道这有点棘手,因为 shadow DOM,但我不知道为什么我的元素没有正确显示。
在与这个 JSfiddle 不同的本地开发版本中,use 元素实际上显示了 SVG 和路径,但仅显示为不可见的形状。没有填充,或任何东西。只是看不见的路径。我的结构是这样的:
<nav class="nav-right">
<div class="nav-right-left">
<svg class="icon">
<use class="icon-menu" xlink:href="#icon-menu"></use>
</svg>
</div>
</nav>
svg 类 'icon' 显示在适当的位置,但 use 元素显示在 div 之外和页面下方。这可能是因为用户代理样式表具有 svg:not(:root) {overflow: hidden;}?
任何人都可以查看 JSfiddle 并尝试解释为什么它们不能正确显示吗? https://jsfiddle.net/qs769rk6/
【问题讨论】: