当谈到向 SVG 元素添加类时,有两种方法可以解决
已发表: 2023-02-08在向 SVG 元素添加类时,有两种方法。 第一种也是最明显的方法是简单地使用 className 属性:var mySvg = document.querySelector('#my-svg'); mySvg.className = '我的班级'; 如果您只处理一个类,这会很好地工作,但如果您需要添加多个类,则需要使用 classList API:var mySvg = document.querySelector('#my-svg'); mySvg.classList.add('我的类'); mySvg.classList.add('另一个类'); 如果需要删除一个类,可以使用classList.remove()方法:mySvg.classList.remove('my-class'); 最后,如果您需要切换一个类(即如果它不存在则添加它,或者如果它存在则将其删除),您可以使用 classList.toggle() 方法:mySvg.classList.toggle('my-class') ;
文档对象模型 (DOM) 可用于表示 HTML 和 SVG。 因此,使用 Javascript 操作它们相对简单。 在本课中,我将介绍如何同时使用内联 SVG 和外部 SVG 。 GitHub 提供了多种代码示例,可在本页顶部找到。 当您使用相同的代码创建外部 SVG 时,元素的内容可以在 SVG 本身中使用。 SVG 无法访问嵌入其中的 HTML 文档,因此无法查看页面上的其他 SVG。 如果用 CDATA 包装代码,XML 解析器会将 JS 代码视为 XML 的一部分。
元素的创建和移除是一回事,只是在不同的地方。 使用相关文档的 createElementNS() 方法,传入标签名称和相关文档的命名空间以创建元素。 要删除元素,您必须使用 createTextNode() 创建一个单独的文本节点,然后将其附加到该元素。 因为它们不在同一个文档中,所以可以这样使用。
class 属性将以下类名分配给 svg> 标记:class、class 和 class。 定义类名时,使用样式表或具有样式名称的本地元素。 样式是使用类创建的,例如类名。
在元素样式方面,HTML 支持元素特定的“style”和“class”属性,以及 HTML 的 class 和 style 属性。 'class' 属性为元素分配一个名称,然后用于在样式语言中寻址该元素。 元素使用样式属性来指定它们的 CSS 声明。
HTML 代码的属性和值存储在 SVG 的 CSS 属性和值中。 有一些示例与 HTML 属性非常相似。
你能把类放在 Svg 上吗?
可以将 class 放在 svg 上,但不建议这样做,因为它可能会导致某些浏览器出现问题。
将 HTML 命名空间添加到 SVG 时,可以使用 CSS 设置元素样式并使用 *foreign 对象属性加载 SVG,这将改变它的显示方式。
用 Svgs 组织你的平面设计
SVG 文件最多可以包含三个标记为“*svg”的元素。 将图形设计组织成逻辑组的过程也很简单。
Javascript 可以应用于 Svg 吗?
因为它们可以内嵌在 HTML 中,所以我们的SVG 图像可以使用 JavaScript 进行操作。 我们可以通过代码为图像的一部分制作动画,将其转换为数据驱动的交互环境,并根据数据生成图形。
DRY 是使您的代码更快、更健壮且编写起来更省时的绝佳方法。 在 IE 中,没有必要依赖全局事件对象。 将您的事件对象设置为事件处理程序。 因为已经修改了 x 和 y 变量,所以不需要进一步更改它们的属性。 如果我使用奇数和 keydown 而不是按键,我上面提供的 keydown 和 ASCII 事件代码在所有浏览器中都有效。 AddEventListner() 可用于通过仅使用事件处理程序的 onfoo = * 属性而不是使用 onfoo= * 属性来描述应该发生什么来将事件处理程序附加到元素。 外部函数仅在页面加载后运行,因此不需要引用任何元素。
总而言之,在此演示过程中需要注意一些事项。 svg> 标签用于生成 SVG 图像。 在 SVG 图像中,使用了一个标签。 svg 标签位于 body 元素内。 可以在元素内找到标签。 标识符用于引用 *svg> 标记。 当有标签时,属性用于引用它。 svg> 标签中的动画属性设置为“ease out”。 属性 easeOut 必须设置为那个。 svg> 标签的宽度和高度属性设置为 100%、100%。 以下代码将使用 SVG 创建图像并定义动画属性 aseaseout。 XML xmlns=” http://www.w3.org/2000/svg” width=100% height=100% id=demo-svg svg可以作为一种格式。 您还可以通过使用鼠标单击它们来与 SVG 文件进行交互。 这个方法是通过创建一个新元素,将它插入到 body 元素中,然后离开它来完成的。 通过将以下代码添加到元素中,您可以使您的 svg 文件更具可读性。 svg> 可以用作基本格式。 *使用 xlink:href 可以通过以下 URL 访问此页面:*/svg。 通过这样做,您将能够在 SVG 上创建一个可点击的点。 可以通过在一个点上单击两次来访问用户界面。 SVG 交互性有哪些用途? 各种动画可以是交互的,同时也可以由用户启动。 当用户单击 SVG 图像时,它会生成一个看似实时的动画。 使您的网站看起来具有交互性的第三种方法是使用交互式 SVG 图形,它可用于添加用户与站点之间实时交互的幻觉。 要创建交互式 SVG 图像,请首先使用 svg> 标签。 然后您必须包含 *svg 在这一步中,您必须指定动画属性 easeOut。 如果一切设置正确,您的网页看起来将与演示中显示的完全相同。 观看此演示时需要记住几件事。 首先,svg> 标签后面必须跟有图像。 要添加的第二个元素是 body 元素内的 HTML 标记“svg”。
为什么你应该使用 Svg
XML 和矢量图像用于SVG 格式。 这意味着它可以在不引起退化的情况下重新调整大小,并且不依赖于分辨率。 CSS 和/或 JavaScript 可用于轻松操作和动画 SVG。 因此,使用 SVG 可以缩短页面加载时间(而不是 JPG、JPEG 和 PNG)。 JavaScript 可以添加到 SVG 文档中开始和结束标记之间的任何位置。 一般建议将脚本放在文档的末尾,以防止阻塞并允许其完全访问 DOM。 如果您想将 SVG 图像直接写入 HTML 文档,您可以使用 *svg 在 VS 代码或您首选的 IDE 中打开 SVG 图像的代码,将其复制并粘贴到 HTML 的 body 元素中文件是必需的。 如果一切顺利,下面的演示应该看起来是一样的。