使用 SVG 和 CSS 的好处

已发表: 2023-02-01

SVG 或可缩放矢量图形是一种基于 XML 的标准,开发人员和设计人员使用它在 Web 上创建基于矢量的图像和图形。 通过使用基于文本的格式, SVG 文件比其他图像格式更小且可扩展性更强,使其成为响应式网页设计的理想选择。 CSS,即层叠样式表,是一种样式表语言,用于描述 HTML 或 XML 文档的呈现方式。 CSS 用于设置所有 HTML 标签的样式,包括标签。 CSS sprint 是一个为期两周的活动,网络开发人员和设计人员齐聚一堂,共同致力于 CSS 相关项目。 在冲刺期间,参与者从事各种任务,包括错误修复、新功能、文档和测试。

矢量图形是使用SVG 格式创建的。 它基本上是一组可以放大和缩小的矢量图形。 在 Adob​​e Illustrator 中,您可以使用以下功能。 在开始在 Web 上使用 SVG 之前,您应该了解很多事情。

可以使用 style> 元素将样式表直接嵌入到SVG 内容中。 在 HTML 中,样式元素与 SVG 中的样式元素具有相同的属性(有关更多信息,请参阅 HTML 的样式元素)。

可缩放矢量图形 (SVG) 格式是一种网络友好的矢量文件格式。 与基于像素的光栅文件(如 JPEG)不同,矢量文件基于网格上的点和线存储图像,而不是特定类型的图像。

什么是 Svg 精灵?

什么是 Svg 精灵?
图片来源:24ways

SVG 精灵是多个 SVG 图像组合成一个文件的集合。 然后可以使用此文件在网页上显示其中的所有图像。 这允许更快的加载时间和更有效地使用带宽。

svg-sprite 是一个低级的 Node.js 模块,可以从大量的 SVG 中生成 Sprites。 您会找到一组用于创建样式表的 Mustache 模板,这些模板既可以使用优秀的 CSS 格式,也可以使用一种主要的预处理器格式(Sass、Less 和 Stylus)。 与使用标准 API 不同,您可以使用 Grunt 或 Gulp 包装器来节省时间和金钱。 在模式选项中,可以创建多种 Sprite 类型。 通过选择不同的输出模式,您可以多次启用它。 在以一种预处理器格式(Sass、LESS、Stylus 等)创建 CSS 精灵和样式表时,务必要特别小心。 您还可以通过读取 YAML 文件并注入适当的元素,将SVG 元素插入到 YAML 文件中。 在命令行版本中,您会发现一组令人印象深刻的工具来帮助您处理各种输出格式。

多种因素促成了 SVG 的流行。 SVG 图像的第一个优势是它们的分辨率,这意味着它们可以随时按比例缩小或放大而不会降低质量。 如果您使用的是较小的屏幕或担心带宽,这会很有用。 此外,由于它们的矢量化,SVG 文件可以用比光栅图像更低的分辨率进行编辑和修改。 虽然拥有 HTMLScript 框架是有益的,但 SVG 的好处并不是那么多。 例如,非技术用户可能会发现标记难以理解。 此外,由于文件较大,网站的加载时间可能比 .SVG 格式的等效图像更长。 此外,由于没有单一的浏览器支持 SVG,一些用户在查看该格式的图形时可能会遇到兼容性问题。 尽管存在这些限制,SVG 仍然是创建可用于网页和其他在线内容的高质量图形的出色工具。 以下是一些用于了解和在网页设计中使用 SVG 的资源: SVG 标准简介:本文概述了 SVG 标准,并解释了如何使用它创建图像。 如何从头开始创建可缩放矢量图形 (SVG) 文件:本指南通过解释可用的不同类型的线条和路径类型,教您如何从头开始创建可缩放矢量图形 (SVG) 文件。 在 Web 上使用 SVG:本指南将引导您了解如何在各种网页上使用它们。

Svg 精灵的许多好处和用途

什么是 SVG 精灵? 它是如何使用的? 除了可用于徽标、图表和图标之外,SVG 文件还可用于多种用途。 它们很容易为客户端和服务器创建和操作。 尽管它们的质量不同,但位图和 SVG 可以缩放到任何大小而不会降低其质量。 与网络字体相比,SVG 具有非常清晰的外观,可以应用多种颜色、渐变,甚至是复杂的滤镜。 如何导入 Sprite HTML? 将遵循以下步骤:您将为图标的类元素命名; 然后,您将使用 *svg> 元素提供 Sprite 的 href 属性,然后是如何在 React 中创建 sva Sprite 元素? (如果您有 HTML,请转到 Google 并将其粘贴到 JSX 中。)只需将您的 JSX 转换为纯 React 组件并使用 render() 返回转换后的文件。 包括您在导入时创建的 React 精灵组件。 要使用精灵符号,只需使用.svg href=”#symbolnameorid”>.svg[/sqrt] 并且不需要前缀。

Svg 是 Css 的一部分吗?

Svg 是 Css 的一部分吗?
图片来源:wp

可缩放矢量图形 (SVG) 可从各种供应商处获得,但只有某些属性可以转换为 CSS。 presentation 属性样式 SVG 元素,也可以使用该元素的 CSS 属性。 其中一些属性仅适用于 SVG,而其他属性已在 CSS 中共享,例如字体大小或不透明度。

presentation 属性是一个 CSS 属性,可用于设置 SVG 元素的样式。 填充 CSS 的属性以更改元素的颜色,例如,从蓝色变为红色。 文本、遮罩、过滤和过滤效果都是 SVG 共享的 CSS 属性。 不可能为每个SVG 元素分配相同的 CSS 属性。 rx 和 ry 的几何属性现在在最新版本的软件中定义。 几何属性,就像填充或描边等表示属性一样,可以用作 CSS 属性。 可以使用 CSS 创建形状变形。

CSS 还用于设置元素的宽度和高度。 如果一个元素被定义为 d,它将指定它的形状。 如果你添加一个:active伪类,点击时形状会变色为正方形,再次点击时会变成正方形。 Each.shape 类应该为 CSS 分配一个动画延迟。 现在可能不建议在生产中使用这些技术。

在 SVG 中创建复杂图形比使用 CSS 更难,因为它是一种更强大的语言。 与 CSS 相比,网页可以具有由SVG 语言控制的更大范围的图形元素。 由于格式的矢量性质,可以按比例放大或缩小以获得与高质量图像相同的图像质量; 这使其成为高分辨率图形的绝佳选择。 它具有透明度和 alpha 通道,使其成为创建逼真的图形的绝佳选择。 尽管 CSS 在创建简单图形方面更通用,但不如 sva 通用。 因为 SVG 不支持 HTML 元素的样式,您必须使用 CSS 来获得相同的结果。

为什么 Svg 比 Css 好

使用 svg 而不是 CSS 的优点如下所述。 CSS 比图形更易于使用,后者更精细、更详细。
CSS 的图形很难制作动画,而 CSS 的图形很容易制作动画。
图形可以保存为独立于 CSS 文件的文件,而 CSS 文件不能保存。
另一方面,图形与其他语言兼容,例如 Java 和 JavaScript,而 CSS 不兼容。


Svg 图标如何工作?

Svg 图标如何工作?
图片来源:securedataimages

SVG 图标是矢量图像,可以缩放到任意大小而不会降低质量。 它们可用于网站、应用程序和打印文档。 要创建 SVG 图标,您需要一个矢量编辑程序,例如 Adob​​e Illustrator。 创建图标后,您可以将其保存为 SVG 文件。 要在网站或应用程序上使用 SVG 图标,您需要将 SVG 代码嵌入到 HTML 中。 您还可以使用 JavaScript 创建动画 SVG 图标。 这可用于创建交互式图标,这些图标在悬停时会改变颜色或大小。

可以在 HTML 和 CSS 中使用图标,但这就是 Kaliop 的前端团队使用它的方式。 绘制圆圈时,请在边缘之间留出一些空间。 如果您想对像素拟合进行微观管理(以在低屏幕上获得最佳结果),则 Truedpi 尺寸不应该是一个问题。 当您从设计工具导出图像时,它可能包含一些您不需要的额外文字或元数据。 在 d 属性中,路径数据也可能过于精确。 使用 SVGOMG 等工具,您可以比较前后代码以确定是否发生了任何更改。 确保单色图标未在源代码中进行硬编码并且我们不能通过 CSS 代码更改颜色是至关重要的。

如果您手动制作 Sprite,我建议保存一个包含所有 SVG 图标的文件夹。 如果您不需要样式,您应该保留一个 SVG 文件,并使用 *img src=url/to/illustration.svg alt=...在您的 HTML 页面中。 一些文章的建议是在图标存储库中为每个 SVG 文件包含一个文本标签。 polyfill 是通过使用 JavaScript (svg4everybody,svgxuse) 实现的。 或者,您可以在每个 HTML 代码元素中包含您的 sprite。 与其他方法相比,每种方法都有自己的优点和缺点。 这两种方法都很有效; 我喜欢这样一个事实,即我可以分别制作两个 Sprites。

SVG 样式具有许多从其父元素继承的属性。 在此示例中, stroke-width 属性采用长度值,但它由图标的坐标决定。 如果您的路径超过视口的限制,一半的行程将被切断。 一个图标可以被配置为出现在两个不同的填充值中(每个都有自己的填充值)。 该页面仍然可读,但如果您有良好的 HTML 结构,图像将大得多。 这应该包含在标有“head”的部分中。 我喜欢它简短而甜美的事实。

使用 SVG 元素的宽度和高度属性是另一种选择。 此方法有效,但如果您使用 CSS 来调整大小,则可能不那么简单。 使用方形或斜线图标时,请确保百分比值大致为图标宽度的百分比。 如果我们想要渐变填充,我们需要在 sva 中使用渐变填充。 因为这不适用于 SVG 填充属性,所以我们无法随时使用 CSS linear-gradient(...)。

对图标有三个要求。
图标的大小由个人资料决定:小图标在社交媒体个人资料上看起来很棒,而大图标可用于标题和主菜单项。
您可以选择图标类型。 平面图标是社交媒体个人资料图标的最佳选择,而 3D 图标可用于菜单和其他应用程序。
原色通常用于创建社交媒体图标,但也可以使用其他颜色。
社交媒体图标的形状通常为矩形,但也可以根据图标的用途使用其他形状。
根据图标的用途,它可以以微妙或大胆的方式使用。
以下是使用图标的一些一般提示。
如果你的图标是一致的,它们就会脱颖而出。 因此,您将能够以更易于理解的方式解释和导航您的图标。
创建易于识别和记忆的形状和颜色。
在基本或中性配色方案之间进行选择。
社交媒体图标的尺寸应该很小。
平面图标可用于社交媒体图标。
菜单和其他应用程序的图标应该以 3D 形式呈现。
您可以使用它们来创建功能齐全的动画并进行自定义。

Svg 雪碧 Css 背景

精灵是包含多个单独图像的单个图像文件。 对于 CSS 精灵,这些图像显示为不同元素的背景图像。 通过使用 CSS 精灵,您可以减少加载页面所需的 HTTP 请求数,从而提高站点的性能。

在未来几年,SVG 图形的流行程度将被图标字体的使用所超越。 如果您使用 SVG,则跨浏览器渲染没有明显差异。 除了传统方法外,还有几种新的矢量图形集成方法。 在本文中,我将研究可用作自动精灵背景的工作流程。 之后,我们将在下一篇文章中探讨如何使用内联 SVG 精灵。 SVG 还可以使用现成的类或可用于显示它们的混合。 根据 render.scss.dest 选项,模式的 dest 目录位于此位置。

此模板包括一个 SCSS 文件,其中包含所有元数据(位置和大小)的映射以及用于与背景图形集成的混合。 我们为启动该项目付出了巨大努力,因此我们希望充分利用它。 我们只需要整合生成的_sprite.scss的SCSS结构即可。 因此,我们可以轻松地为图标创建规则。 当您将下一个图形放入文件夹中时,云彩就会消失。

浏览器支持内联 Svg

所有主流浏览器都支持内联 SVG ,包括 Internet Explorer 从版本 9 开始。 早期版本的 Internet Explorer 仅支持使用 object 或 embed 标签呈现的 SVG。

Microsoft Edge 18 现已提供内联sVG 支持。LambdaTest 允许您测试您的网站或 Web 应用程序与数千种不同浏览器和操作系统的兼容性。 使用 Microsoft Edge 浏览器和 Microsoft Edge 版本 18 的用户数量是制定测试策略时要考虑的重要因素。 Microsoft Edge 最初是在 2008 年使用微软专有的 EdgeHTML 浏览器引擎和 Chakra JavaScript 引擎构建的; 它被重命名为 Microsoft Edge Legacy。 截至 2017 年,它可用于 Windows 10 和 Xbox One,以及 Android 和 iOS 设备。 微软决定将 Edge 添加到 macOS 和 Linux 的动机是基于 Chromium 的 Edge 浏览器越来越受欢迎。

内联 Svg 的多种用途

以多种方式使用内联 SVG 图像。 除了创建模板之外,它们还可以用于生成用户界面。 它们还可以用作页面布局的一部分,以添加额外信息,例如图标或徽标。