目录
SVG元素和CSS属性:分类的概述
CSS和SVG共享属性
字体属性
文本属性
掩蔽属性
交互性属性
颜色属性
可见性属性
SVG特异性CSS属性
剪辑属性
过滤效果
梯度特性
绘画特性
SVG 2和CSS样式
特定于元素的属性支持
几何特性
用CSS定位SVG元素(SVG 2)
SVG形状与CSS变形
用CSS对SVG属性进行动画操作
结论
首页 web前端 css教程 CSS指南中的SVG属性

CSS指南中的SVG属性

Apr 21, 2025 am 11:21 AM

CSS指南中的SVG属性

本指南探讨了CSS和可伸缩矢量图形(SVG)的相交,重点是使用CSS属性进行样式SVG元素。尽管存在许多SVG属性,但只有某些SVG属性(主要呈现属性)才能直接使用CSS来设计。某些CSS属性与SVG共享(例如font-sizeopacity ),而另一些则是SVG特定的。

例如,要为元素变色, fill属性在CSS中起作用,因为fill是一个呈现属性:

圆圈 {
  填充:红色;
}
登录后复制

本指南全面详细介绍了可用的SVG元素及其相应的CSS属性,涵盖了包括通用样式和动画在内的各种样式技术。

SVG元素和CSS属性:分类的概述

以下概述演示文稿归因于CSS属性,为了清楚起见。弃用元素被排除在外。

CSS和SVG共享属性

字体属性

文本属性

掩蔽属性

交互性属性

颜色属性

可见性属性

SVG特异性CSS属性

文本属性

剪辑属性

掩蔽属性

过滤效果

梯度特性

交互性属性

颜色属性

绘画特性

SVG 2和CSS样式

虽然呈现归因于CSS和SVG样式之间的差距,但SVG 2(目前在候选建议中)显着增强了这种交互,从而可以控制使用CSS对元素坐标和尺寸的控制。

SVG 2规范阐明了:

“某些样式属性不仅可以用样式表和'样式'属性指定,还可以在演示属性中指定。这些是其名称匹配(或相似)的属性,与给定的CSS属性匹配(或相似),其值被解析为该属性的值。”

这意味着CSS,包括:hover:active ,可以通过演示属性或样式表的svg属性进行样式属性。 SVG 2还引入了用于样式的其他演示属性。有关完整列表,请参阅SVG 2规范。

特定于元素的属性支持

要记住,CSS属性支持随SVG元素的不同而言至关重要。某些属性是特定于元素的。例如,<circle></circle><ellipse></ellipse>支持cxcyrxry ,但其他元素可能不会。

几何特性

SVG 2将诸如rxry类的属性定义为几何属性,可与CSS与填充或冲程等呈现属性以及诸如fillstroke类的属性。

用CSS定位SVG元素(SVG 2)

SVG 2允许基于CSS的定位。考虑一个矩形:

<svg height="170" width="170"><rect height="150" width="150" x="10" y="10"></rect></svg>
登录后复制

使用SVG 2,可以通过CSS控制xy属性:

 / *与SVG 2 */
rect {
  X:10;
  Y:10;
  / * ...其他样式... */
}
登录后复制

将SVG标记简化为:

<svg height="170" width="170"><rect height="150" width="150"></rect></svg>
登录后复制

同样,可以使用CSS设置widthheight ,从而进一步最小化SVG代码。

目前,Blink(Chrome,Opera)和Webkit(Safari)浏览器为这些SVG 2功能提供了更好的支持。对于更广泛的兼容性,需要替代技术。

SVG形状与CSS变形

CSS可用于创建形状变形效果。涉及的SVG路径必须具有相同的命令,并具有相同数量的成功变形。

示例:将三角形变成正方形。

<svg height="220" width="300"><path d="M150 10 L40 200 L260 200Z"></path></svg>
登录后复制

CSS覆盖路径:

小路 {
  D:路径(“ M150,10 L40,200 L260,200Z”); / *初始形状 */
  填充:#4C6EDB;
}

路径:活动{
  D:路径(“ M10,10 L160,10 L160,160 L10,160 Z”); / *变形的形状 */
  填充:#4C6EDB;
  过渡:所有0.35 s selie;
}
登录后复制

SVG标记简化为:

<svg height="220" width="300"><path></path></svg>
登录后复制

用CSS对SVG属性进行动画操作

CSS动画和过渡动画SVG属性。此示例演示了一个带有五个圆圈的波动动画:

<svg height="250" width="350"><circle class="shape"></circle><circle class="shape"></circle><circle class="shape"></circle><circle class="shape"></circle><circle class="shape"></circle></svg>
登录后复制

具有变量的CSS和:nth-child()

 / * ...颜色和初始圆形样式的CSS ... */

。形状 {
  / * ...初始样式... */
  动画:Movecircle 1250ms易于插入两个无限;
}

/ * ...每个圆圈的动画 -   -  */

@keyframes movecircle {
  50%{
    CY:150;
    R:13;
  }
}
登录后复制

动画<pattern></pattern>元素也是可能的。

结论

尽管SVG 2具有功能强大的CSS样式功能,但仍在开发广泛的浏览器支持。供生产使用,请仔细考虑兼容性。随着SVG 2的成熟,SVG几何特性的CSS样式将变得越来越强大和可靠。

以上是CSS指南中的SVG属性的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue团队完成了完成,我知道这是一项巨大的努力,而且很长时间。所有新文档也是如此。

使用Redwood.js和Fauna构建以太坊应用 使用Redwood.js和Fauna构建以太坊应用 Mar 28, 2025 am 09:18 AM

随着最近比特币价格超过20k美元的攀升,最近打破了3万美元,我认为值得深入研究创建以太坊

您可以从浏览器获得有效的CSS属性值吗? 您可以从浏览器获得有效的CSS属性值吗? Apr 02, 2025 pm 06:17 PM

我有人写了这个非常合法的问题。 Lea只是在博客上介绍了如何从浏览器中获得有效的CSS属性。那样的是这样。

带有粘性定位的堆叠卡和一点点的杂物 带有粘性定位的堆叠卡和一点点的杂物 Apr 03, 2025 am 10:30 AM

前几天,我发现了科里·金尼文(Corey Ginnivan)网站上的这一点,当您滚动时,彼此之间的卡片堆放集。

在CI/CD上有点 在CI/CD上有点 Apr 02, 2025 pm 06:21 PM

我说的“网站”比“移动应用程序”更合适,但我喜欢Max Lynch的框架:

比较浏览器的响应式设计 比较浏览器的响应式设计 Apr 02, 2025 pm 06:25 PM

这些桌面应用程序中有许多目标是同时在不同的维度上显示您的网站。因此,例如,您可以写作

在WordPress块编辑器中使用Markdown和本地化 在WordPress块编辑器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我们需要直接在WordPress编辑器中向用户显示文档,那么最佳方法是什么?

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

See all articles