搜索
首页web前端css教程CSS指南中的SVG属性

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
模拟鼠标运动模拟鼠标运动Apr 22, 2025 am 11:45 AM

如果您曾经在现场演讲或课程中必须显示一个互动动画,那么您可能知道它并不总是那么容易与您的幻灯片进行互动

通过Astro Action和Fuse.js为搜索提供动力通过Astro Action和Fuse.js为搜索提供动力Apr 22, 2025 am 11:41 AM

对于Astro,我们可以在构建过程中生成大部分网站,但是有一小部分服务器端代码可以使用Fuse.js之类的搜索功能来处理搜索功能。在此演示中,我们将使用保险丝搜索一组个人“书签”

未定义:第三个布尔值未定义:第三个布尔值Apr 22, 2025 am 11:38 AM

我想在我的一个项目中实现一条通知消息,类似于您在保存文档时在Google文档中看到的信息。换句话说,一个

捍卫三元声明捍卫三元声明Apr 22, 2025 am 11:25 AM

几个月前,我正在使用黑客新闻(就像一个人一样),并且遇到了一篇(现已删除的)文章,内容涉及不使用if语句。如果您是这个想法的新手(就像我

使用网络语音API进行多语言翻译使用网络语音API进行多语言翻译Apr 22, 2025 am 11:23 AM

自科幻小说以来,我们就幻想着与我们交谈的机器。今天这很普遍。即便如此,制造的技术

JetPack Gutenberg块JetPack Gutenberg块Apr 22, 2025 am 11:20 AM

我记得当古腾堡被释放到核心时,因为那天我在WordCamp我们。现在已经过去了几个月,所以我想我们越来越多的人

在VUE中创建可重复使用的分页组件在VUE中创建可重复使用的分页组件Apr 22, 2025 am 11:17 AM

大多数Web应用程序背后的想法是从数据库中获取数据,并以最佳方式将其呈现给用户。当我们处理数据时

使用'盒子阴影”和剪辑路径一起使用'盒子阴影”和剪辑路径一起Apr 22, 2025 am 11:13 AM

让我们对您可以做一些有意义的事情做一些逐步的情况,但是您仍然可以用CSS欺骗来完成它。在这个

See all articles

热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

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

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器