了解SVG-icon的使用流程

这篇具有很好参考价值的文章主要介绍了了解SVG-icon的使用流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.了解SVG是什么

SVG(Scalable Vector Graphics)可缩放矢量图形,是一种用于描述基于二维的矢量图形的 XML 标记语言,其基本矢量显示对象包括矩形、圆、椭圆、多边形、直线、任意曲线等,还能显示文字对象和嵌入式外部图像(包括 PNG、JPEG、SVG 等)。实际项目中大多数图标都是使用的 SVG 图标文件,其主要有以下几个优点:

1.内容可读,文件是纯粹的 XML。

2.图像文件小,可伸缩性强。

3.矢量放缩,能以不牺牲图像质量为前提,进行任意缩放。

4.还能基于 DOM 模型实现动态和一些交互功能 

二.使用svg-icon的配置

  1. 安装依赖npm i svg-sprite-loader
  2. 在 vue.config.js进行配置
const path = require('path')

function resolve(dir) {
  return path.join(__dirname, dir)
}

 // set svg-sprite-loader
    config.module
      .rule('svg')
      .exclude.add(resolve('src/icons'))
      .end()
    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(resolve('src/icons'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]'
      })
      .end()

 文章来源地址https://www.toymoban.com/news/detail-420976.html

三.创建src/icons文件夹

  1. 创建src/icons文件,写入svg和index.js

了解SVG-icon的使用流程 

2.在index.js写入以下代码

import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon'// svg component

// register globally
Vue.component('svg-icon', SvgIcon)

const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)

 3.可以通过iconfont-阿里巴巴矢量图标库 去下载你要用的svg,复制地址并写入svg中

 了解SVG-icon的使用流程

4. 在components下面新建SvgIcon组件,并对index进行配置

 了解SVG-icon的使用流程

 

<template>
  <div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" />
  <svg v-else :class="svgClass" aria-hidden="true" v-on="$listeners">
    <use :xlink:href="iconName" />
  </svg>
</template>

<script>
import { isExternal } from '@/utils/validate'

export default {
  name: 'SvgIcon',
  props: {
    iconClass: {
      type: String,
      required: true
    },
    className: {
      type: String,
      default: ''
    }
  },
  computed: {
    isExternal() {
      return isExternal(this.iconClass)
    },
    iconName() {
      return `#icon-${this.iconClass}`
    },
    svgClass() {
      if (this.className) {
        return 'svg-icon ' + this.className
      } else {
        return 'svg-icon'
      }
    },
    styleExternalIcon() {
      return {
        mask: `url(${this.iconClass}) no-repeat 50% 50%`,
        '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`
      }
    }
  }
}
</script>

<style scoped>
.svg-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  fill: currentColor;
  overflow: hidden;
}

.svg-external-icon {
  background-color: currentColor;
  mask-size: cover!important;
  display: inline-block;
}
</style>

四.其他配置及引入

  1. 在utils/validate.js配置
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

2.在main.js中引入

了解SVG-icon的使用流程

五.使用

 1.使用格式<svg-icon icon-class="文件名"/> 。这里的文件名就是在src/icons/svg下的文件名

了解SVG-icon的使用流程 

 

 

 

 

 

 

 

 

 

 

 

到了这里,关于了解SVG-icon的使用流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 什么是3D建模?一文帮助小白了解建模全流程!

    什么是3D建模?一文帮助小白了解建模全流程!

    什么是3D建模?建模师是根据想象凭空建模吗?建模复不复杂?工作流程有哪些?下面跟着橘子,一起走进建模师的世界吧! ·  中国顶级雕像品牌-Queen Studios 3D艺术总监 smile _z作品 3D建模师(3D Artist) 顾名思义就是建立3D模型的人,创建的模型包括但不限于人物、武器、机

    2024年02月02日
    浏览(7)
  • 什么是字体图标(Icon Font)?如何在网页中使用字体图标?

    什么是字体图标(Icon Font)?如何在网页中使用字体图标?

    前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一

    2024年02月11日
    浏览(12)
  • 带你详细了解到底什么是个股场外期权的交易流程?

    个股场外期权是一种在沪深交易所之外交易的个股期权,期权的买方(权利方)通过向卖方(义务方)支付一定的费用(权利金),获得一种权利,即有权在约定的时间以约定的价格向期权卖方买入或卖出约定数量的特定股票。 目前国内场外股票期权的买方一般为机构投资者和个人投

    2024年04月17日
    浏览(9)
  • 带你了解SVG标签

    带你了解SVG标签

    ✍️ 作者简介: 前端新手学习中。 💂 作者主页: 在主页中查看更多前端教学,可接大学生前端作业单。 🎓 专栏分享:css重难点教学   Node.js教学 从头开始学习   ajax学习 js学习 SVG是一种图形文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基

    2024年02月15日
    浏览(7)
  • 谷歌广告投放步骤流程是什么?一文带你全方位了解实操细节

    谷歌广告投放步骤流程是什么?一文带你全方位了解实操细节

    谷歌,大家都不陌生吧,一个人们很常用的搜索引擎。而谷歌还可以打广告,即谷歌广告,那这跟跨境电商有什么关心呢?东哥告诉大家,关系大了去了,毕竟如果用户搜索与我们相关的,就有利于我们展示产品,既可以吸引用户的兴趣转换成销售。所以东哥今天就给

    2024年02月06日
    浏览(12)
  • Svg Flow Editor 原生svg流程图编辑器(五)

    Svg Flow Editor 原生svg流程图编辑器(五)

    Svg Flow Editor 原生svg流程图编辑器(一) Svg Flow Editor 原生svg流程图编辑器(二) Svg Flow Editor 原生svg流程图编辑器(三) Svg Flow Editor 原生svg流程图编辑器(四) Svg Flow Editor 原生svg流程图编辑器(五)         对协同这块已经写了很多篇文章了,如果还是不了解,可以看看之

    2024年04月12日
    浏览(12)
  • 什么是SVG?——SVG快速入门

    什么是SVG?——SVG快速入门

    最近在学习一个前端数据可视化D3.js,它的图表绘制是基于SVG的,作为一个小菜鸡,我并不知道什么是SVG,于是我决定把D3.js放一放,先学一下SVG。 那么什么是SVG呢?百度百科上是这么介绍的:“SVG是一种图形文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢

    2024年02月16日
    浏览(8)
  • 什么是SVG格式?如何制作?

    什么是SVG格式?如何制作?

    图像质量对页面非常重要——扭曲和缩放变形的标志、图标或照片会使页面看起来粗糙和不协调,这个问题只会因为响应设计而复杂。 访问者通过桌面机和智能手机查看应用程序,因此无论使用什么设备,图像都应该进行优化。如果有一个数字格式可以让图像看起来很棒,不

    2024年02月04日
    浏览(7)
  • SVG格式文件可以用什么软件打开?

    SVG格式文件可以用什么软件打开?

    SVG是一种基于矢量的图像文件格式,通过基于网格上的点和线的数学公式存储图像,与 JPEG 等基于像素的位图文件不同。这种文件类型可以在不损失任何质量的情况下生成很小的文件,因而加载速度也相对更快,也使其成为LOGO和复杂在线图形的理想格式选择。即时设计支持打

    2024年02月06日
    浏览(10)
  • 腾讯云国际轻量应用服务器使用流程是什么呢?

    腾讯云国际轻量应用服务器怎么使用呢?下面一起来了解一下: 1. 熟悉轻量应用服务器基础知识 ①什么是轻量应用服务器 TencentCloud Lighthouse? ②轻量应用服务器与云服务器 CVM 的区别是什么? ③为什么选择轻量应用服务器? ④轻量应用服务器应用场景介绍 ⑤使用轻量应用

    2024年02月12日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包