Icons and SVG Illustrations

原文:https://docs.gitlab.com/ee/development/fe_guide/icons.html

Icons and SVG Illustrations

我们在gitlab-svgs存储库中管理自己的图标和插图库. 该存储库在npm上发布,并通过 yarn 作为依赖项进行管理. 您可以在此处浏览所有可用的图标和插图. 要升级到新版本,请运行yarn upgrade @gitlab/svgs .

Icons

我们正在 GitLab 中使用 SVG Sprite 使用 SVG 图标. 这意味着图标仅加载一次,并通过 ID 进行引用. 子画面 SVG 位于/assets/icons.svg下.

我们的目标是一一替换所有内联 SVG 图标(如目前已膨胀的 HTML)以及所有 Font Awesome 图标.

Usage in HAML/Rails

要在 HAML 或 Rails 中使用精灵图标,我们使用特定的辅助函数:

sprite_icon(icon_name, size: nil, css_class: '') 
  • icon_name使用可以在 SVG Sprite 中找到的 icon_name( 此处提供概述 ).
  • size(可选)使用以下大小之一: s16 (将被翻译成s16类)
  • css_class(可选)如果要添加其他 CSS 类

Example

= sprite_icon('issues', size: 72, css_class: 'icon-danger') 

上面示例的输出

<svg class="s72 icon-danger">
  <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/assets/icons.svg#issues"></use>
</svg> 

Usage in Vue

我们的组件库GitLab UI提供了一个用于显示精灵图标的组件.

样品用法:

<script>
import { GlIcon } from "@gitlab/ui";

export default {
  components: {
    GlIcon,
  },
};
<script>

<template>
  <gl-icon
    name="issues"
    :size="24"
    class="class-name"
  />
</template> 
  • name SVG Sprite 中图标的名称( 此处提供概述 ).
  • size(可选) ,然后将大小的数字值映射到特定的 CSS 类(可用大小: sXX映射到sXX CSS 类)
  • class(可选)要添加到 SVG 标签的其他 CSS 类.

Usage in HTML/JS

请在 JS 中使用以下函数来呈现图标: gl.utils.spriteIcon(iconName)

SVG Illustrations

从现在开始,对于任何基于 SVG 的插图,请使用简单的img标签来显示插图,只需使用image_tagimage_path帮助器即可. 请使用周围的svg-content类,以确保呈现效果良好.

Usage in HAML/Rails

Example

.svg-content
  = image_tag 'illustrations/merge_requests.svg' 

Usage in Vue

要在模板中使用 SVG 插图,请将路径作为属性提供,并通过标准img标签显示它.

Component:

<script>
export default {
  props: {
    svgIllustrationPath: {
      type: String,
      required: true,
    },
  },
};
<script>

<template>
  <img :src="svgIllustrationPath" />
</template> 
Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2021-03-27 13:48:25

results matching ""

    No results matching ""