如何在 Angular 中使用 Svg

已发表: 2023-02-15

在 Angular 中使用 SVG 是一个简单的过程。 首先,您需要下载并安装 Angular-SVG 库。 然后,您可以将以下代码添加到您的 Angular 项目中: ... 这将在您的 Angular 项目中创建一个 SVG 元素。 然后,您可以在元素内添加自己的 SVG 代码。

Angular-svg-icon 是 Angular 14 服务和组件,支持内联生成 SVG 文件。 CSS 和代码可用于轻松设置样式。 可以使用此服务的图标注册来加载和缓存可通过其 URL 索引的 SVG。 如果要使用默认的 forRoot() 函数,则必须使用 forRoot() 显式导入该模块。 Angular-svg-icon 是一个 Angular 组件,允许您通过继续使用 AngularJS 方法轻松地内联 SVG。 要让它工作,您必须先删除文件的高度和宽度。 如果SVG 源是内联的,则可以使用 CSS 轻松地为图形设置样式。

只要不对数据 URI 进行编码,SVG 就可以在 CSS 中使用,但在基于 Webkit 的浏览器中不受支持。 如果您使用 encodeURIComponent() 对 SVG 进行编码,它将在任何地方工作。 为了有效,必须存在此类型的属性 xmlns:xmlns=' http://www.w3.org/2000/svg'。 如果没有这样的东西,它会自动添加。

我们可以在 Angular 中使用 Svg 吗?

作为模板,您可以在 Angular 应用程序中使用 SVG 文件。 使用 SVG 作为模板时,指令和绑定与使用 HTML 模板一样简单。 该技术可用于根据需要生成交互式图形。

HTML 和 Angular 都使用 Angular 模板来处理 sva。 结合这两个组件将使您可以轻松地将交互式控件和状态集成到移动和 Web 应用程序中。 使用基于 SVG 的模板可以增强 Angular 框架的功能。 现在许多网站都使用 SVG** 操作,这在当今的网页上很常见。 在这篇文章中,我将向您展示如何使用图像在其上叠加网络图图像。 在本次演示中,我将向您展示如何在 Figma 上将 .svg 文件导入为简单的 SVG 图像。 因为我在这个项目中使用的图表归我以前的公司所有,所以我将使用另一个图表来演示这个概念。

我们从上面的 Dom 树中观察到,您不需要熟悉 SVG 就可以理解它。 今天,我们将向您展示如何以角度使用此图像。 第一步是创建一个可以用作模板的 Angular 组件。 因此,组件和模板描述如下:

为什么你应该考虑使用 Png 或 Jpg 而不是 Svg

虽然它仍然被广泛使用,但如果您想让您的图形更吸引眼球,使用 SVG 是值得的。 考虑更简单的格式(如 PNG 或 JPG)是否是更好的选择。 您可以通过使用在所有设备上看起来都很棒的内联图形来节省带宽并保持页面精简。

我如何在 Angular 12 中使用 Svg 图标?

我如何在 Angular 12 中使用 Svg 图标?
图片来自 – icon-icons.com

SVG 图标是为 Angular 12 应用程序添加额外细节和润色的好方法。 有几种不同的方法来使用它们,但最简单的方法是将它们作为背景图像简单地包含在您的 CSS 中。 这是一个简单的例子:.icon { background-image: url('path/to/icon.svg'); 这适用于大多数简单的图标,但如果您需要对图标进行更多控制(例如,如果您想要更改其颜色),则需要使用不同的方法。

使用 SVG 图标的 Web 应用程序更有可能在其应用程序中显示图标。 它们可以缩放到任何尺寸而不会降低质量,并且可以更改为任何颜色。 缺点是显示它们很困难,因为要使用 XML 代码来显示它们。 借助一些简单的工具,在 Angular 应用程序中使用 SVG 非常简单。 您可以使用 SvgIconRegistryService 使用 SvgIconRegistryService 为您的应用程序加载图标。 如果你有经常使用的图标,你不需要弄乱你的 AppComponent 文件来加载它们。 当您的应用程序启动时,您将在加载这些图标后立即获得这些图标。 是否要加载SVG 数据或 XML 数据文件由您决定。


Angular Svg 组件

Angular SVG 组件是一种组件,可帮助您将可缩放矢量图形 (SVG) 图像嵌入到 Angular 应用程序中。 有多种方法可以创建Angular SVG 组件,但最简单的方法之一是使用 Angular CLI。

不要引用 SVG 的实际克隆,而是使用“symbol”和“use”HTML 元素。 这篇文章详细解释了为什么这是最好的行动方案,非常值得一读。 虽然使用封闭的影子 DOM 可能有好处,但也有一些缺点。 如果使用 JavaScript,则无法访问或操作 SVG 的 viewBox。 我们可以通过图片宽高的inheritance,图片的fill和height的currentColor等属性来设置SVG的填充和轮廓。 将次要颜色的不透明度设置为 false 会自动使 SVG 双色。 您必须知道不能简单地将文件链接到 .sva 文件。

扩展后,必须将散列标签的值以及您的 ID 名称添加到文件名称的末尾。 如果你在一个文件中有多个 SVG 文件,你可以在 http 请求中将它们全部保存为 svega 文件,也称为 sprites。 在该文件中,您必须为每个 SVG 使用唯一的 ID。 在使用“SVG”选择器之前,确保宽度和高度设置为继承。

Angular 使用资产中的 Svg

Angular 可以通过将文件包含在资产文件夹中并在组件中引用它来使用资产中的 svg 文件。

我们将使用 Material Icons 字体组件作为教程的重点。 该组件还将支持自定义 SVG 图标。 代码可以在 GitHub 存储库中找到。 您将需要Angular v4.2 + 的一些基本知识才能完成这篇文章。 本教程是使用 Angular 5.2 plus 和 Angular Material 10.1 编写的。 在本教程中,我们将使用心情图标(类似于笑脸的符号):来做鬼脸。 在 Material Design 网站上,您可以找到完整的 Material 图标列表。

您现在可以在以下步骤中使用 mat-icon 属性来显示 SVG。 您可以将图标标签添加到 app.html 选项卡的输入属性,方法是打开它并插入图标标签。 请导航到 src/app/app.html。 到目前为止我们有什么? 您可以通过转到应用程序的浏览器来查看具有材质样式的自定义图标。 可以将 MatIconRegistry 移至服务类以使其更清洁且更易于维护。

什么时候不应该使用 Svg?

因为 SVG 是基于矢量的程序,所以它无法渲染具有大量精细细节和纹理的图像。 使用 SVG 的最佳方式是使用徽标、图标和其他使用更简单颜色和形状的平面图形。 此外,虽然许多现代浏览器支持 SVG,但旧浏览器可能无法以正确的方式支持。

Svg 文件非常适合网页设计!

因为它们可扩展且易于编辑,所以选择 SVG 文件进行网页设计至关重要。 此外,由于其 SEO 友好性,您的网站在搜索引擎中将更加可见。 由于 SVG 代码的加载速度比图像代码快,因此您的网站加载速度也会更快。

Svg 图标

SVG 图标是基于矢量的,这意味着它们可以缩放到任何大小而不会降低质量。 它们可用于网站、应用程序和任何其他数字媒体。

SVG(Scalable Vector Graphics)使用可扩展标记语言(XML)语法,是一种可以绘制的矢量图像格式。 直接提供给浏览器并在浏览器中呈现的 XML 代码块也称为 SVG。 图像可以充当观察细节的眼睛,提供比文字更快的信息处理。 大约在电子宠物蛋、iMac 和 Palm Pilots 进入我们家庭的同时,SVG 图像文件最初在网络上可用。 大多数网络浏览器都没有支持 SVG 格式的计划,也没有意识到这一点。 直到 2017 年, Web 标准 SVG才开始以可接受的方式呈现。 因为它们是矢量,所以 SVG 和图标网络字体都可以毫无问题地按比例缩小。

在设计选项方面,预制图标更为有限。 如果您想获得更多功能,.VQ 文件是最佳选择。 可以手动或使用工具创建 SVG 图标。 可以使用矢量图像程序在虚拟绘图板上绘制图标。 之后,导出 .svg 文件。 或者,您可以从此 Evernote 列表中获取现成的 SVG 图标。 形状的尺寸由其宽度和高度定义,而其位置由其 x 和 y 定义。 类名也可以在单独的样式表 CSS 文件中设置为 <svg> 或 <rect> 元素,以及它们的样式。 您可以使用 Ycode 图标颜色选择器直接在 Ycode 无代码生成器中更改这些图标的背景颜色。

因此,使用 SVG 的矢量图形更可取。 通过更好地控制文本,可以更详细地编辑颜色、过渡和动画。 如果您想使用基于矢量图的图形,可以轻松自定义矢量图形。

如何使用 Svgs 创建具有专业外观的图标

因为 svg 文件看起来更专业,所以我更喜欢它们而不是图标。 但是,只要您选择使用 vgs,就可以选择这样做。