本指南探讨了CSS和可伸缩矢量图形(SVG)的相交,重点是使用CSS属性进行样式SVG元素。尽管存在许多SVG属性,但只有某些SVG属性(主要呈现属性)才能直接使用CSS来设计。某些CSS属性与SVG共享(例如font-size
和opacity
),而另一些则是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>
支持cx
, cy
, rx
和ry
,但其他元素可能不会。
几何特性
SVG 2将诸如rx
和ry
类的属性定义为几何属性,可与CSS与填充或冲程等呈现属性以及诸如fill
或stroke
类的属性。
用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控制x
和y
属性:
/ *与SVG 2 */ rect { X:10; Y:10; / * ...其他样式... */ }
将SVG标记简化为:
<svg height="170" width="170"><rect height="150" width="150"></rect></svg>
同样,可以使用CSS设置width
和height
,从而进一步最小化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中文网其他相关文章!

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

我知道,我知道:有大量的内容管理系统选项可用,而我进行了几个测试,但实际上没有一个是一个,y&#039;知道吗?怪异的定价模型,艰难的自定义,有些甚至最终成为整个&

链接CSS文件到HTML可以通过在HTML的部分使用元素实现。1)使用标签链接本地CSS文件。2)多个CSS文件可通过添加多个标签实现。3)外部CSS文件使用绝对URL链接,如。4)确保正确使用文件路径和CSS文件加载顺序,优化性能可使用CSS预处理器合并文件。

选择Flexbox还是Grid取决于布局需求:1)Flexbox适用于一维布局,如导航栏;2)Grid适合二维布局,如杂志式布局。两者在项目中可结合使用,提升布局效果。

包含CSS文件的最佳方法是使用标签在HTML的部分引入外部CSS文件。1.使用标签引入外部CSS文件,如。2.对于小型调整,可以使用内联CSS,但应谨慎使用。3.大型项目可使用CSS预处理器如Sass或Less,通过@import导入其他CSS文件。4.为了性能,应合并CSS文件并使用CDN,同时使用工具如CSSNano进行压缩。

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

重构自己的代码看起来是什么样的?约翰·瑞亚(John Rhea)挑选了他写的一个旧的CSS动画,并介绍了优化它的思维过程。

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

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

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

记事本++7.3.1
好用且免费的代码编辑器