【CSS】SVG图片属性及修改颜色
创作时间:
作者:
@小白创作中心
【CSS】SVG图片属性及修改颜色
引用
CSDN
1.
https://blog.csdn.net/kakaai77/article/details/137705189
在前端开发中,SVG(可缩放矢量图形)因其矢量特性而被广泛应用。然而,对于初学者来说,SVG的属性和颜色修改可能是一个挑战。本文将详细介绍SVG的关键属性,并提供实用的代码示例,帮助开发者更好地掌握SVG的使用。
SVG的基本属性
SVG有多个关键属性,其中最常用的包括:
- width:设置最终SVG图片的宽度。
- height:设置最终SVG图片的高度。
- viewBox:定义SVG的视区,即在SVG上截取一块区域并放大到整个SVG图片上。
viewBox的值通常包含四个参数:起始x坐标、起始y坐标、宽度和高度。
例如,以下是一个SVG代码示例:
<svg
t="1712966539403"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="1466"
width="200"
height="200"
>
<path
d="M340.736 216.832A162.048 162.048 0 0 1 445.44 254.72a103.168 103.168 0 0 0 10.24 7.68 102.4 102.4 0 0 0 122.88-6.912 161.792 161.792 0 0 1 104.96-38.144 163.84 163.84 0 0 1 101.12 292.864 102.4 102.4 0 0 0-9.216 8.192L511.232 782.592 238.336 509.696l-5.12-4.864a166.4 166.4 0 0 1-16.128-16.128l-1.28-1.536-1.28-1.536A162.048 162.048 0 0 1 176.64 380.928a164.352 164.352 0 0 1 164.096-164.096m0-102.4A266.496 266.496 0 0 0 135.68 551.168h-0.256l4.352 4.352a268.032 268.032 0 0 0 26.112 26.112l314.624 315.136a43.264 43.264 0 0 0 61.184 0l306.176-305.92A266.24 266.24 0 1 0 512.768 177.152l-1.536-1.536h-0.256a265.472 265.472 0 0 0-169.984-61.44z"
fill="#4C4C4C"
p-id="1467"
></path>
</svg>
在上述SVG代码中,viewBox的值表示:
- 从x轴坐标0开始截取
- 从y轴坐标0开始截取
- x轴截取1024个像素
- y轴截取1024个像素
最终将截取的区域等比例放大或缩小到指定的宽高,形成最终的SVG图片。
修改SVG的颜色
在实际开发中,我们经常需要修改SVG图标的颜色。SVG提供了fill属性来设置图标颜色。例如,将fill属性修改为粉色:
<svg
t="1712966539403"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="1466"
width="200"
height="200"
>
<path
d="M340.736 216.832A162.048 162.048 0 0 1 445.44 254.72a103.168 103.168 0 0 0 10.24 7.68 102.4 102.4 0 0 0 122.88-6.912 161.792 161.792 0 0 1 104.96-38.144 163.84 163.84 0 0 1 101.12 292.864 102.4 102.4 0 0 0-9.216 8.192L511.232 782.592 238.336 509.696l-5.12-4.864a166.4 166.4 0 0 1-16.128-16.128l-1.28-1.536-1.28-1.536A162.048 162.048 0 0 1 176.64 380.928a164.352 164.352 0 0 1 164.096-164.096m0-102.4A266.496 266.496 0 0 0 135.68 551.168h-0.256l4.352 4.352a268.032 268.032 0 0 0 26.112 26.112l314.624 315.136a43.264 43.264 0 0 0 61.184 0l306.176-305.92A266.24 266.24 0 1 0 512.768 177.152l-1.536-1.536h-0.256a265.472 265.472 0 0 0-169.984-61.44z"
fill="pink"
p-id="1467"
></path>
</svg>
优化SVG颜色修改方式
对于前端开发者来说,直接修改fill属性可能不够方便。一个更好的方法是将fill属性设置为currentColor,这样就可以通过CSS的color属性来控制SVG的颜色:
<div style="color: purple">
<svg
t="1712966539403"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="1466"
width="200"
height="200"
>
<path
d="M340.736 216.832A162.048 162.048 0 0 1 445.44 254.72a103.168 103.168 0 0 0 10.24 7.68 102.4 102.4 0 0 0 122.88-6.912 161.792 161.792 0 0 1 104.96-38.144 163.84 163.84 0 0 1 101.12 292.864 102.4 102.4 0 0 0-9.216 8.192L511.232 782.592 238.336 509.696l-5.12-4.864a166.4 166.4 0 0 1-16.128-16.128l-1.28-1.536-1.28-1.536A162.048 162.048 0 0 1 176.64 380.928a164.352 164.352 0 0 1 164.096-164.096m0-102.4A266.496 266.496 0 0 0 135.68 551.168h-0.256l4.352 4.352a268.032 268.032 0 0 0 26.112 26.112l314.624 315.136a43.264 43.264 0 0 0 61.184 0l306.176-305.92A266.24 266.24 0 1 0 512.768 177.152l-1.536-1.536h-0.256a265.472 265.472 0 0 0-169.984-61.44z"
p-id="1467"
fill="currentColor"
></path>
</svg>
</div>
这种方法的好处是color属性具有继承性,可以更方便地通过CSS来控制SVG的颜色。
通过本文的介绍,相信读者对SVG的基本属性和颜色修改方法有了更深入的了解。掌握这些知识将有助于开发出更灵活、更美观的前端界面。
热门推荐
中山陵附近的景点有哪些?那些不可错过的宝藏景点
生态葬的“自然之选”:树葬、花坛葬、草坪葬,哪个更胜一筹?
药材涨价 “虚”火还是“真”火?
如何把握国际黄金交易的时机?这些交易时机有哪些影响因素?
以文搜图:文字视界,探寻图像之美
佛教中的“色”到底是什么
INTJ 的 12 种减压技巧
睡前揉开这条筋,坚持1个月!肝血补足了,眼睛也就亮了
制冷设备优化策略:调整蒸发/冷凝温度与过冷度、过热度
日语汉字简体还是繁体?
如何克服胆小懦弱怕事的性格
如何通过玩数独游戏提升数学思维与逻辑能力?(附5个数独游戏平台推荐)
超七成学生认为高校需设恋爱课 ,高质量的大学生恋爱课该如何开?
神经外科医生治疗什么?
想要缓解抑郁症、焦虑症,除了药物治疗,还可以做这件事
在战场描写中如何平衡历史真实与艺术理想
Excel表中快速选取成员的多种方法
宇树科技王兴兴:奔跑在机器人黄金时代的造梦者
十三鬼穴:中医针灸里的特殊穴位组合
准备学术工作面试:综合指南
大学英语四级考试听力各种题型应对技巧
艾灸要连续灸几天为好
揭秘武夷红茶:细数多种香型特点与分类全解析
物理降温的正确方法
投资股市,法律风险不能忘
孙尚香与刘备的短暂共度:一段承载爱情与政治的生死离别
PET-CT对人体的伤害有多大
1块多钱一颗的洗衣凝珠,是“智商税”吗?
灵活就业人员养老保险:养老金怎么算?划算吗?
家用净水器真的像宣传的效果好?