创建 SVG 图像时,Id 属性值不需要是唯一的

已发表: 2023-02-09

创建 SVG 图像时,经常出现的一个问题是 id属性值是否需要唯一。 答案是肯定的,也不是。 如果您使用 id 属性值从图像内部引用 SVG 图像中的元素(例如,如果您使用 JavaScript 来操作元素),则 id 值需要是唯一的。 但是,如果您不引用图像中的元素,则 id 值不需要是唯一的。

svg id 属性的代码可能会导致浏览器在渲染图像时看起来很奇怪。 因为 HTML 文档中的每个 id 都必须是唯一的,所以浏览器必须对其 HTML 代码进行一些小的调整。 尽管 MacOS 和 Chrome 之间的形状有所不同,但矩形是相同的:Macsvg 上的蓝到绿色和 iOS 9.3.6 上的 Chrome 88。 如果不使用 id 属性,则无法应用渐变。 你可以改变第二个 <linearGradient/> 元素中的 id 来区分它们,让浏览器区分它们。 此外,将 svg 元素单独保存。 svg 文件,并使用 <img> 元素将它们包含在您的网页中。

Svg 需要一个 ID 吗?

Svg 需要一个 ID 吗?
图片来源:etsystatic.com

没有必要为了使用它们而拥有它们。

Svgs 需要 Alt 标签吗?

这个问题没有明确的答案,因为它取决于使用 SVG 的上下文。 如果 SVG 纯粹是装饰性的,并不打算向用户传达任何信息,那么它可能不需要 alt 标签。 但是,如果 SVG 用于传达信息或者是页面内容的一部分,则可能需要 alt 标签。 最终,由页面作者决定 SVG 是否需要 alt 标签。

Svg 图像:不要忘记 Alt 标签!

在 img 标签中,始终包含重要 SVG 的 alt 标签。 从img 标签中排除 svg 与在常规标签中包含图像没有什么不同。 使用 SVG 时,您应该包含一个描述性标题和一个与替代文本相比突出的描述。 尽管 sva 图像可以内联显示,但必须将 aria-label by 作为首选以获得最佳支持。

哪种类型的 Svg 最受青睐?

哪种类型的 Svg 最受青睐?
图片来源:tfd.com

这个问题没有明确的答案,因为它取决于个人喜好和项目的具体需求。 然而,一些设计师倾向于使用内联 SVG ,因为它允许他们使用 CSS 设置图像样式并使用 JavaScript 控制其行为。 此外,可以使用 gzip 压缩内联 SVG,这可以减小文件大小并提高性能。

矢量图形 (SVG) 是一种二维文件格式,可用于创建大型图形文件。 当使用 sva 图像而不是 JPG、GIF 和 PNG 文件时,图像质量保持在任何分辨率或大小。 您将能够使用几行代码创建自己的自定义图标,并且您将确切地知道它们是如何制作的。 SVG 图像格式非常适合在网页中使用,但如果您还没有使用过它,现在就应该这样做。 一些缺点如下: – 它与两种最流行的浏览器 Internet Explorer 8 和 Android 2.3 不兼容。 如果一个对象包含大量的小元素,它的文件大小会迅速膨胀。

由于开发人员更喜欢 JavaScript 而不是 SVG 的原因有很多,因此像 Modernizr 这样的 JavaScript 库可能是最佳选择。 这些操作有两种主要类型的原因:性能和兼容性。 在性能方面,Modernizr 通常被认为是更快的选择。 因为它的核心代码是 JavaScript,所以该程序可以在大多数浏览器上以秒为单位执行。 此外,它还进行了多项优化,可减小 SVG 文件的大小。 由于缺乏与所有 SVG 功能的兼容性,Modernizr 有很多缺点。 例如,它不支持动画或矢量形状。 尽管如此,有几种 Modernizr 的替代品可以使用它,包括 Raphael、js 和 Lodash。 可以出于各种原因使用这些库,包括提高性能和增强支持。 您最终将根据自己的喜好选择使用哪个库。 然而,重要的是要记住 SVG 仍然是开发人员中的一个流行选项。 因此,如果您正在寻找一个多功能且健壮的库,SVG 可能是一个不错的选择。

– 文本,如标题或日期。 3 种数据可视化

它是指代表特定对象的符号,例如箭头或齿轮。
图片或地图,除了图片。

Svg 多个 ID

没有“svg multiple ids ”这样的东西。 ID 在文档中必须是唯一的,因此只能有一个元素具有给定的 ID。

Svgr 唯一 ID

Svgr 是一个帮助您从 SVG 创建 React 组件的工具。 它会自动为每个图标生成唯一的 ID ,因此您不必担心。

如何使用 React 和 Svg

要将 React 与 SVG 一起使用,您必须先导入组件。 将“./”、“MyLogo”或“.svg”导入您的计算机以创建它。
也允许以与任何其他 React 组件相同的方式使用该组件。

Svg ID 冲突

如果 HTML 文档中的两个元素具有相同的 id 属性,则称它们处于 svg id 冲突状态。 当从 HTML 或 XML 文档解析元素时,或者当使用 JavaScript 动态创建元素时,就会发生这种情况。 当两个元素处于 svg id 冲突状态时,最后解析的元素优先。

CodePen 用于创建 HTML 标签和部分,HTML 编辑器中出现的任何内容都包含在基本 HTML5 模板的主体中。 如果您想添加可以影响整个文档的类,则无需去那里。 CSS 可用于根据您在网络上找到的任何样式表创建一支笔。 从 Internet 上的任何地方通过脚本使用 Pen 很简单。 您可以在此处输入一个 URL,我们会在您拥有它们后立即按照您指定的顺序添加它。 如果脚本具有预处理器文件扩展名,我们将尝试在应用脚本之前对其进行处理。

Svg 路径 ID

SVG 路径是 SVG 中最基本的布局元素。 它们用于创建简单的形状,由起点和终点以及这些点之间的线段定义。 路径可以是开放的或封闭的,并且可以包含多个子路径。