svg - 如何使用 Webpack 和 Vue.js 提供 <use> SVG 符号?

标签 svg webpack vue.js

我将 Webpack 与 Vue.js 结合使用。 在 map.svg 文件中,我以如下形式存储所有 SVG 图标:

<symbol id="someID"><path></symbol>
<symbol id="otherID"><path></symbol>

在代码中,我将这样的构造与 SVG4Everybody-plugin 一起使用:

<svg><use xlink:href="map.svg#someID"></svg>

但这不起作用,因为 Webpack 不分发 SVG Sprite 。在这种情况下该怎么办?谢谢!


Webpack 3.6.0 Vue 2.5.2

最佳答案

您必须使用 <object> 将 SVG Sprite 添加到 HTML

<object type="image/svg+xml" data="map.svg">
   Your browser does not support SVG
</object>    

Your browser does not support SVG - 旧浏览器的故障恢复

将 Sprite 添加到 HTML 后,您可以使用 Sprite 中的图标:

<svg viewBox="0 0 24 24"> 
  <use xlink:href="map.svg#someID">
 </svg>        

使用viewBox匹配图标大小的选项。

关于svg - 如何使用 Webpack 和 Vue.js 提供 <use> SVG 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47684140/

相关文章:

css - 鼠标悬停在 SVG 上无法正常工作

css - 浏览器特定的 SVG 显示问题

javascript - hammer.js 和 SVG 交互

javascript - 索引中的 Webpack 脚本

javascript - Vuejs 从头部隐藏样式标签 | Laravel-vuejs 应用程序

build - VSTS 托管构建上的 WebPack

javascript - 样式化自定义导入的 vue 组件

javascript - 为什么 Vue.js 允许推送到 prop 数组?

javascript - 在 Nuxt Js 中集成 Stripe 元素

javascript - 如何使用 Snap.SVG 实现悬停效果?