<svg> <use> in edge 没有出现 [angular 2]
<svg> <use> in edge doesn't appear [angular 2]
我有这段代码,它在 chrome:
中工作得很好
<html>
<head>
...some tags
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<g id="overview">
<path data-name="overview" d="M12.5,0A12.5,12.5,0,1,0,25,12.5h0A12.5,12.5,0,0,0,12.5,0Zm0,19C7.22,19,3,12.5,3,12.5S7.22,6,12.5,6,22,12.5,22,12.5,17.78,19,12.5,19Zm0-9.49a3,3,0,1,0,3,3,3,3,0,0,0-3-3Z"/>
</g>
</svg>
<app>
..some tags
<svg viewBox="0 0 25 25" width="25" height="25">
<use xlink:href="#overview" />
</svg>
..some tags
</app>
</body>
</html>
但在边缘,我什么也看不到。
还尝试为其添加颜色(使用 fill
)。再次,在 chrome 中工作,而不是在边缘
中工作
注意
这是一个 angular 2 应用程序,因此带有 use
标记的 svg
位于 angular 组件内并使用 angular 编译器
呈现
您正在使用 AngularJS 这一事实是一个很大的线索。
检查您的页面。如果您使用 angular 路由,那么您的 header 可能有一个 <base>
标签。如果是这种情况,那么您的 <use>
引用也需要包含页面 URL - 否则它们将像其他引用一样受到 <base>
的影响。
换句话说,您必须执行以下操作:
<use xlink:href="this-file.html#overview" />
或者可能
<use xlink:href="/path/to/this/file.html#overview" />
我有这段代码,它在 chrome:
中工作得很好<html>
<head>
...some tags
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<g id="overview">
<path data-name="overview" d="M12.5,0A12.5,12.5,0,1,0,25,12.5h0A12.5,12.5,0,0,0,12.5,0Zm0,19C7.22,19,3,12.5,3,12.5S7.22,6,12.5,6,22,12.5,22,12.5,17.78,19,12.5,19Zm0-9.49a3,3,0,1,0,3,3,3,3,0,0,0-3-3Z"/>
</g>
</svg>
<app>
..some tags
<svg viewBox="0 0 25 25" width="25" height="25">
<use xlink:href="#overview" />
</svg>
..some tags
</app>
</body>
</html>
但在边缘,我什么也看不到。
还尝试为其添加颜色(使用 fill
)。再次,在 chrome 中工作,而不是在边缘
注意
这是一个 angular 2 应用程序,因此带有 use
标记的 svg
位于 angular 组件内并使用 angular 编译器
您正在使用 AngularJS 这一事实是一个很大的线索。
检查您的页面。如果您使用 angular 路由,那么您的 header 可能有一个 <base>
标签。如果是这种情况,那么您的 <use>
引用也需要包含页面 URL - 否则它们将像其他引用一样受到 <base>
的影响。
换句话说,您必须执行以下操作:
<use xlink:href="this-file.html#overview" />
或者可能
<use xlink:href="/path/to/this/file.html#overview" />