SVG 精灵:优点以及如何创建它们
已发表: 2022-12-08svg sprite 是组合成单个文件的svg 图像的集合。 然后可以像常规图像一样使用该文件,使用“背景位置”属性显示各个图像。 与传统图像相比,Svg 精灵具有许多优势。 它们可以在不损失质量的情况下进行缩放,因此非常适合在视网膜显示器上使用。 它们也可以使用 CSS 或 JavaScript 轻松制作动画。 创建 svg 精灵非常简单。 首先,创建单独的图像。 接下来,使用文本编辑器或 Gulp 等工具将它们组合成一个文件。 最后,该文件被上传到服务器并像普通图像一样使用。
它使用称为 svg-sprite 的低级 Node.js 模块生成精灵。 它使用许多 SVG 来生成 Sprites。 该程序包括一组 Mustache 模板,用于以良好的 CSS 或一种主要的预处理器格式(Sass、Less 和 Stylus)创建样式表。 通过使用 Grunt 或 Gulp 包装器而不是标准 API,您可以让生活更轻松。 模式选项允许您选择要使用的 Sprite 类型。 可以同时开启多种输出模式。 如果您计划以一种预处理器格式(Sass、LESS、Stylus 或其他格式)使用CSS 精灵和样式表,则必须确保您的 CSS 已正确配置。 可以读取 YAML 文件,您的 SVG 元素可以注入 HTML 代码和描述。 在处理各种输出格式时,命令行版本包括一个非常有用的命令行工具,其中包含完整的命令。
可缩放矢量图形(SVG) 是一种基于 XML 的标记语言,用于描述二维向量。
SVG 图标有什么作用? 术语“SVG”(可缩放矢量格式)是指允许缩放的矢量图形图像格式。 基于 XML 的标记用于描述 SVG 文件中的矢量图形。 换句话说,SVG 图像是基于文本的,可以是基于 CSS、JavaScript 和 DOM 的。
sva 文件的主要目的是通过 Internet 共享图形内容。 XML 基础允许 SVG 文件的搜索、索引、压缩和脚本,这就是它们适用的原因。 SVG 文件格式可用于各种 Web 浏览器,这一点已被广泛接受。
该工具将原始 SVG 文件转换为 React 组件。 它还拥有一个庞大的生态系统,支持广泛的技术,包括 Create React App、Gatsby、Parcel、Rollup 等。
我可以使用 Svg Sprite 吗?
use> 元素不长,可以嵌入到 HTML(或独立图像)中。 此方法不能用于 img、iframe、对象或用作 CSS 背景。 可以在所有浏览器中使用该方法,包括 Internet Explorer 9 及更高版本。
要在我的单词搜索游戏中查找单词,玩家必须组合散布在屏幕上的各种字母。 我的目标是禁用此功能,我想出了制作代表这些字母中每一个的图标的想法。 我应该为每个字母都有一个标识符,以便能够访问所有字母。 在这种情况下,将创建一个 React 函数组件,它将是一个SVG 元素。 我们要显示的字母、颜色、大小都是给投影仪的道具。 因此,我将使之前包含字母 char 作为子进程的代码针对每个字母以及字母组件进行处理。 如果您有任何其他技术需要改进,或者如果您想评论如何改进目标,请这样做。
如何在 React 中使用 Sprite Svg?
演示对 '.'./letter 的 React,以及演示对 '../letter.' 的 Letter 导入“./LetterSvg”; 使用“.svg”作为您的格式。 S'; const 字母等同于 SVg。 Letter, color, and size(字母、颜色和尺寸)。 ( svg className[/svg -letter] 填充宽度、高度和大小。还有使用 letterSvg 的选项(使用 href=%22s/letters%22s/letter%22s.html;LetterSvg。
没有 Cra 的 React 中的 Svg
如果您不使用 CRA,您可以使用 svg> 标签将 SVG 文件添加到您的 React 应用程序。
如何导入 Svg Sprite Html?
如前所述,您使用 *svgElement 元素为您的图标创建类,然后将 *use 元素与您的 Sprite 的 href 属性一起使用,然后是一个 octathorpe #,最后是图标中的图标名称。
为什么应该在 Html 文档中使用可缩放矢量图形 (svgs)
当您处理 HTML 文档时,您应该使用可缩放矢量图形 (SVG)。 下面列出的七个理由是有效的。 您会发现它们对 SEO 友好。 关键字、描述和链接都可以直接添加到标记中。
由于 SVG 可以嵌入到 HTML 中,因此可以对其进行缓存、编辑和索引,从而使它们更易于访问。
我们可以有把握地说 SVG 将来会被使用。 在可预见的未来,Chrome 和其他浏览器和平台将继续支持它们。
文件系统是可扩展的虚拟演示。 可以在不损失质量的情况下放大或缩小它们。
借助 SVG,可以创建范围广泛的应用程序。 它们可用于多种用途,包括徽标、插图和网站设计。
使用 SVG 很简单。 它们可以使用各种工具进行编辑,包括 VS 代码和首选 IDE。
可以通过多种方式使用 SVG 文件。 它们可用于静态和交互式应用程序。
我可以使用 Svg 作为 Img Src 吗?
如果您使用 img> 元素嵌入 SVG,则无需在其 URL 中引用该元素。 如果您的 SVG 缺少固有的纵横比,您将需要高度和宽度属性。 如果您还没有这样做,您可以查看 HTML 格式的图像。
Svg 是简单 Web 图形的完美格式
因此,我们相信 SVG 将是 Web 上使用的简单图形的最佳格式。 这种媒体轻巧快捷,可用于图标、插图、徽标和其他平面图形。
Svg 图标如何工作?
SVG 图标是可缩放矢量图形,可用于网站和应用程序。 它们通常在 Adobe Illustrator 等矢量编辑软件中创建,并保存为 SVG 文件。 在网站或应用程序中使用时,会导入 SVG 文件并在屏幕上显示图标。
Kaliop 前端团队以这种方式在 HTML 和 CSS 中使用图标,尽管事实上有很多方法可以这样做。 放置形状的最佳区域靠近边缘,尤其是在将它们倒圆角时。 在像素拟合方面,exactdpi 是无关紧要的(以确保在低屏幕上获得最佳结果)。 从设计工具导出图像时,图像可能包含您希望在设计工具中使用的部分或全部元数据和标记。 路径数据(在 d 属性中)也可能显得过于精确。 您可以使用 SVGOMG 等工具查看对代码所做的更改。 使用单色图标时,请确保我们在源代码中使用硬编码填充,因为这可以防止我们通过 CSS 代码更改颜色。
如果您手动创建 Sprite,最好保留一个装满单个 SVG 图标的文件夹。 为了节省空间,请在单个 SVG 文件中包含不需要设置样式的插图; 将它设置为您页面上的 alt=%22> 位置。 如果您要为照片制作动画,请确保完整的 sva 代码包含在您的 HTML 页面中。 建议您在图标存储库中为每个 SVG 文件包含一个文本标签。 用 JavaScript (svg4everybody,svgxuse) 填充它。 要在 HTML 代码中包含您的 Sprite,请选择以下选项。 每种方法都有优点和缺点。
当谈到结合这两种方法时,我喜欢创建两个精灵的想法。 许多 SVG 样式属性都继承自它们的父项。 如果要将 stroke-width 属性显示为长值,它将使用图标的坐标。 如果您的路径穿过视口的边界,一半的笔画将被切断。 一种简单的技术用于创建具有不同填充值(也称为两种颜色)的两条路径。 如果您有良好的 HTML 结构,页面仍然可读,但图标会变得更大。 如果是这种情况,请将其放在页面顶部:散文的甜美和简短。
最有效的方法是在 SVG 元素上使用高度和宽度属性。 尽管它可以工作,但在 CSS 中调整此图标的大小可能会有点困难。 方形或 sharish 图标可以使用百分比值代替百分比值,因为百分比表示图标宽度的百分比。 如果我们想要填充渐变槽,我们需要使用 SVG。 因为 CSS linear-gradient(...) 不能应用于SVG 填充属性,所以它是不正确的。
将 SVG 添加到您的网站可以提高其在图形质量方面的整体性能。 它是轻量级的,可用于定义新的坐标系和视口,允许您将 SVG 片段嵌入到 HTML 和 svo 中,无需在外部 svg 元素中包含 xmlns 属性,因为此信息已经存在。
Svg 图标:如何创建它们
既然您知道如何显示 svg 图标,您应该知道如何使用它们。