SVG图标颜色文字般继承与填充

WinCC实现定时存储数据至SQLServer 环境 Win10 WinCC V7.5 SQL Server 2016 运行结果 流程 WinCC变量 全局VB脚本 (我设置的是每2秒存一次,因此周期性触发器设置1秒) 阅读详情

转自:http://www.zhangxinxu.com/wordpress/?p=4286


一、接上篇

前文介绍了SVG Sprites身材和内涵,顺大便客观的评价了SVG Sprites比font-face高几层楼的事实(看看外国同行的对比)。但是呢,人总是这样,总是容不得说自己现在使用东西的不好。于是乎,不经意间戳动了点小小的自尊。导致文章也没细读就大肆反驳:SVG图标颜色要内联设置,不像font-face那样好控制!而且还不只一位兄弟这么说。

心中默念三遍,切勿浮躁,切勿浮躁,切勿浮躁。其实呢,我并不忍心说实话的:SVG图标颜色控制要比font-face有过之而无不及。

以下是颜色相关特点(不包括图片填充,滤镜什么的):
1. CSS可控制
2. 颜色可继承
3. 支持当前色currentColor
4. 支持渐变色(部分)

二、SVG内联图标颜色CSS可控制

在CSS中使用fill属性即可,例如:

svg { fill: #369; }

所以,一般而言,SVG图标元素上是没有fill属性的,就好像使用font-face的元素一般不会有style="color:#369"这样,都是为了方便CSS控制。

三、SVG内联图标颜色可继承

祖先的fill颜色设置SVG后辈元素继承,例如:

body { fill: #369; }

则,如果没有其他fill干扰,body标签下的所有SVG图标颜色都是#369.

四、SVG内联图标支持当前色currentColor

currentColor就是使用当前该元素所处环境的文字颜色,例如:

li { color: #369; }
li > svg { fill: currentColor; }

这里的currentColor就是#369也就是当前SVG平级的文字的颜色。一例胜前言,

您可以狠狠地点击这里:SVG Sprites图标与文字填充currentColor demo

demo页面的HTML结构是:

<ul>
    <li>
        <svg>
    <li>
        <svg>
    <li>
        <svg>
</ul>

其中,颜色方面:

li { color: #369; }
svg { fill: currentColor; }

也就是li设置颜色,svg使用当前色currentColor, 于是乎,我们会看到demo中,SVG图标和文字都是一样的颜色#369, 见下截图(IE9浏览器下):
IE11浏览器下IE9模式图标填充色继承currentColor截图

currentColor就是当前色,比方说SVG和文字都在a标签里面,则图标就是链接色,很方便的来,就像是普通文字一样,使用起来与font-face无异,很方便。

为了让大家进一步感受下这个世界的善意,demo中还有颜色可设置的操作,见下图:
修改颜色操作截图示意

更改颜色会改变上面对应序号li元素的颜色,例如,我们选几个华丽的web色,然后:
更改颜色之后的状态

总而言之,言而总之,SVG图标颜色控制很简单,就跟设置文字一样。

五、SVG内联图标支持渐变色

前面3个点都是跟font-face平起平坐的,这里这个就是超过font-face的地方。

CSS中的fill属性,不仅可以跟随颜色值,还能是页面上的SVG元素,自然,也是可以是渐变元素。

例如,页面上有下图所示的(IE9+可见)SVG元素(线性渐变):

我们只需要页面上存在如下的SVG代码:

<svg width="0" height="0">
    <defs>
        <linearGradient x1="0" y1="0" x2="1" y2="1" id="lineGradient">
            <stop offset="0%" stop-color="#000000">
        </linearGradient>
    </defs>
</svg>

然后,CSS方面:

svg { fill: url(#lineGradient); }

然后小图标的颜色就是渐变了啦!
SVG图标成为渐变色

自然,特定条件下你还可以fill图片,也就是文字遮罩效果。

而font-face要实现文字渐变,Chrome可以,FireFox和IE呢?

目前,IE浏览器,包括IE11,貌似CSS中fill不支持url()锚定,但FireFox支持,所以还是比font-face更上一层楼!


Altium Designer(AD24/25)导出DXF或DWG结构文件的方法 DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导出DXF或DWG结构文件的方法。 阅读详情

相关推荐

3张RTX 4090就能跑!BAGEL-7B多模态模型本地部署避坑指南(附Flash Attention安装技巧)

本文详细介绍了如何在3张RTX 4090显卡上本地部署BAGEL-7B多模态模型,包括硬件配置、环境设置、多卡并行优化及常见问题解决方案。特别提供了Flash Attention安装技巧和显存优化策略,帮助开发者高效运行这一开源多模态模型,实现文本与图像生成任务。

1a2s3d4f5g的博客 653

fill:currentColor是什么意思?iconfont为何要设置 vertical-align: -0.15em?

在css中,currentColor是一个变量,这个变量的值是当前元素的color值。如果当前元素没有在CSS里显示地指定一个color值,那它的颜色值就遵从CSS规则,从父元素继承而来。 .svg-icon { /*将icon大小设置和字体大小一致 */ width: 1em; height: 1em; vertical-align: -0.15em; /* 因icon大小被设置为和字体大小一致,而span等标签的下边缘会和字体的基线对齐,故需设置一个往下的偏移比例,来纠正视觉上的未对齐效

ddx2019的博客 1万+

荔枝派Nano内核编译

上文编译好uboot之后,想刷内核和根文件系统进去。其实官方的网盘里面,已经有打包好的系统镜像,包含所有的东西,可以直接烧录进flash或者TF卡,但是都是基于winbond芯片的,国产的xt25f128b刷进去妥妥的。所以没办法,只能自己再动手重新编译内核了。(PS:搞的我都想直接买一片w25q128换上了,有点麻烦,希望官方直接涨价或者出两版就行,不然对新手不友好啊)

木子点灯的博客 547

svg图标加上fill=“currentColor“设置颜色时无效解决办法

有些 SVG 图像在定义中已经设置了 fill 属性,这可能会导致手动更改填充颜色无效。要解决这个问题,可以通过以下方法来移除 SVG 自带的 fill 填充属性。下图中的个人中心图标是在iconfont中下载的,可以看出改变fill属性颜色时其不受影响。可以用电脑自带写字板打开svg图标,或者用文本编辑器打开图标,收搜索fill,删除掉改行样式,保存。下面是修改成功后的结果,可以自行修改颜色。

dekuyu blog 7117

微机原理--输入输出实验--emu8086

通过实验,验证了基本要求,实现了一位数加法运算的功能,同时实现了两位数加法运算的功能,还有一位数的除法。思考题(1)输入输出数据和计算用数据的区别:从键盘上输入以及输出的数据要在通过转化为计算机所识别的二进制的数字,和计算所用的数据之间相差30H。(2)单字符输入输出和串输入输出的不同之处:单字符的输入使用1号功能键,输出通过2号功能调用,且待显示字符送给DL寄存器;串输入使用0A功能,输出通过9号功能调用,DS:DX指向待显示字符串,且字符串必须以“$”结束。

m0_58837398的博客 2419

Ansys Circuit新手必看:IBIS模型导入时,Pin Import和Buffer Import到底怎么选?

本文详细解析了Ansys Circuit中IBIS模型导入时Pin Import与Buffer Import的选择策略,帮助SI/PI工程师根据仿真需求做出正确决策。通过对比两种方式的特性差异和应用场景,提供实用的选择指南和性能优化建议,提升信号完整性仿真效率。

weixin_26846533的博客 261

fill:currentColor? iconfont为何要设置 vertical-align: -0.15em?

fill:currentColor? iconfont为何要设置 vertical-align: -0.15em?

m0_64393334的博客 1032

import-im6.q16: attempt to perform an operation not allowed by the security policy `PS‘ @ error/cons

这六个 policy 是使用 XML 格式描述的安全策略。要将其中的限制注释掉,在每个 policy 开始和结束的标记之间添加注释标记“

m0_60657960的博客 1908

十年踪迹:巧用 currentColor 属性来实现自定义 checkbox 样式

在 CSS3 中,有一个常被忽视的颜色属性值,叫做 “currentColor”。 它可以作为属性值作用于元素的 color、background-color、border 等属性中,也可以作用于 SVG 和 Canvas。 currentColor 的语义是表示将颜色设为当前文字颜色,在有些特定的场景下,这个特殊的属性值能给我们带来很大的方便。 比如下面的这个例子。 我们知道,使用 CSS 是没办法直接定义 checkbox 元素的 color 和 background-color 属性的。因此,如果我们

weixin_52362480的博客 713

[图解]SysML与EA实战:住宅安全系统接口块设计全解析

本文详细解析了使用SysML和EA工具进行住宅安全系统接口块设计的全流程。从系统上下文图入门到接口块实战技巧,涵盖块定义图与内部块图的视角转换,以及多图协同建模方法论。特别分享EA工具的高效操作指南和常见问题避坑建议,帮助工程师掌握精确信号定义、端口方向设置等关键技能,提升安防系统设计效率。

weixin_29234509的博客 333

分布式锁特点、以及用python3实现redis分布式锁

以下是 Python3 实现 Redis 分布式锁的详细教程,包含代码示例、原理说明及最佳实践。

数据知道的博客 2万+

svg图标颜色随父元素变换

注:为什么有的svg设置了fill: currentColor;用电脑自带的txt或者代码开发工具(如:HbuilderX)打开svg文件。把fill指定颜色去掉 保存就OK了。给svg加上一下样式。

qq_43358160的博客 1353

STM32入门教程:智能储物柜控制

在这个例子中,我们将使用一个4x4的储物柜,共有16个储物格。我们了解了硬件准备、储物柜电路设计、STM32的基本配置、储物柜控制代码的编写以及测试和调试等方面的知识。根据我们的电路设计,我们需要将一些引脚配置为输出,并将其他引脚配置为输入。在本教程中,我们将使用STM32微控制器来实现一个基本的智能储物柜控制系统。在主函数中,我们将不断循环读取传感器数据,并根据数据的变化来控制储物柜的开关和显示相关信息。这个函数将读取人体感应传感器、温湿度传感器和光照传感器的数据,并将数据存储到相应的变量中。

m0_75244442的博客 662

SVG图标颜色跟随文字颜色变化的简单实现

项目中经常会遇到这样一个小需求:某个按钮hover的时候按钮字体要变色,同时按钮图标也要变色。这个时候如果写JS条件判断那就恶心死了,有没有比较简单的办法呢?

x2320818066的博客 663

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

告别繁琐调色:用currentColor统一管理SVG图标颜色

你是否还在为SVG图标颜色适配不同场景而烦恼?每次修改主题色都要逐个调整SVG文件?本文将介绍currentColor这一CSS魔法属性,教你如何在[gh_mirrors/fr/frontend-stuff](https://link.gitcode.com/i/6543a637c742483d6e5d12c843df7ee8)项目中实现SVG图标颜色的统一管理,减少80%的重复工作。读完本文你将...

gitblog_00713的博客 477

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Tabler Icons:6184 个 SVG 图标改色调粗细

图标风格乱、免费的不好看,很常见。Tabler Icons 提供 6184 个 MIT 许可的 SVG 图标,统一按 24×24 网格绘制。读完这篇,你能把它接入 React 等框架,用 CSS 改出颜色和粗细。 ## 它到底在解决什么 先看一个具体场景:你在做一个后台,需要一套从侧边栏到空状态都能覆盖、而且风格一致的图标。很多图标库是拼凑的,箭头、齿轮、通知各出自不同人,放在一起线条粗细对不

gitblog_00750的博客 765

Bootstrap Icons Calendar Date 图标解析:从 SVG 源码到图标字体与页面集成的完整指南

本篇技术指南以 Bootstrap Icons 开源图标库中 **Calendar date(日历日期)** 图标为核心,深入剖析其 [SVG 源文件](https://link.gitcode.com/i/63b5872aaad614a785b5c292d1994b26) 的图形结构与路径数据,讲解它如何被构建为图标字体、SVG Sprite 与独立下载文件,并结合 [官方图标详情页模板](ht

gitblog_00550的博客 997

Bootstrap Icons 图标实战:database-x 数据库删除/异常语义图标从 SVG 到字体的完整使用指南

database-x 是 Bootstrap Icons(Bootstrap 官方开源 SVG 图标库)中的一枚设备类(Devices)图标,语义为"数据库 + 关闭标记",常用于表达删除数据库、数据库异常或不可用状态。本文以本仓库中该图标为对象,结合其 SVG 源码、字体产物与文档模板,完整讲解从获取图标到内联 SVG、图标字体、SVG Sprite、TypeScript 类型等多个落地场景,读

gitblog_01041的博客 1025

如何快速上手RuoYi-Cloud-Vue3的SVG图标系统:vite-plugin-svg-icons插件与SvgIcon组件完整教程

你是否想在 RuoYi-Cloud-Vue3 这个前后端分离的权限管理系统中,让界面图标既清晰又易于自定义?RuoYi-Cloud-Vue3 的 **SVG 图标系统**正是为此设计的:它基于 **vite-plugin-svg-icons 插件** 与 **SvgIcon 组件**,只需把 `.svg` 文件放进指定目录,就能在全项目任意位置按名字引用,支持任意缩放不失真、颜色随文字变化。本教程

gitblog_00170的博客 435

CSS控制SVG颜色:从原理到实战的完整指南

在前端开发中,矢量图形(SVG)因其可无限缩放和无损的特性,已成为图标和复杂图形的首选格式。其本质是基于XML的DOM结构,这意味着开发者可以像操作HTML元素一样,通过CSS和JavaScript精确控制其视觉表现。理解SVG的DOM模型是掌握其动态样式控制的关键,这带来了显著的技术价值:它使得图标能够根据主题色动态变化、实现平滑的交互状态切换(如悬停效果),并支持复杂的动画,从而极大地提升了用户界面的灵活性和视觉体验。在实际应用场景中,无论是构建可主题化的设计系统、创建交互式数据可视化图表,还是实现动态

weixin_30239339的博客 315

前端图标管理实战:Iconfont SVG Symbol模式深度解析与Vue组件封装

在前端开发中,图标管理是构建用户界面的基础环节,其核心目标在于提升视觉元素的复用性、灵活性与渲染质量。从早期的雪碧图到字体图标,再到如今主流的SVG技术,演进原理始终围绕如何更高效地组织与调用图形资源。SVG作为矢量图形标准,凭借其无损缩放、多色支持及强大的CSS可控性,为现代Web应用提供了极高的技术价值,尤其适用于需要精细控制与丰富交互的场景。本文聚焦于阿里巴巴矢量图标库(Iconfont)的SVG Symbol模式,通过封装可复用的Vue组件,详细演示了如何将这一方案集成到Vue 3 + Vite的项

weixin_34146805的博客 389

5分钟跑通 kb-whisper-large:Hugging Face 语音转文字快速上手教程(附完整代码)

🎙️ **kb-whisper-large** 是瑞典国家图书馆(KBLab)基于 OpenAI `whisper-large-v3` 继续训练的**语音转文字(ASR)模型**。它在超过 50,000 小时的瑞典语音数据上训练,在 FLEURS、CommonVoice、NST 三个基准上,将平均词错误率(WER)比官方 `whisper-large-v3` 降低了约 **47%**。本文将带你

gitblog_00824的博客 1089

Bootstrap Icons 的 Calendar2 check 图标详解:SVG 结构、图标字体与代码点实战

本篇文章围绕 Bootstrap Icons 官方开源图标库中的 **Calendar2 check(`bi-calendar2-check`)** 图标展开,以仓库内该图标的文档页、SVG 源文件、字体样式与构建产物为依据,系统讲解这一"日历 + 勾选确认"语义图标的 SVG 路径结构、四种主流使用方式、图标字体代码点(`\F1F8`)的换算与引用方法。读完本文,你将能在自己的 Bootstra

gitblog_00333的博客 989

Vue中SVG颜色控制:用currentColor接管渲染权

SVG是一种基于XML的矢量图形格式,其颜色由fill/stroke等属性或CSS样式动态决定,而非像PNG那样固化在像素中。理解SVG的渲染机制是解决颜色控制问题的前提——关键在于属性优先级高于CSS、内联SVG受Vue响应式限制、以及浏览器对currentColor的继承支持。利用currentColor可将颜色决策权交还CSS,天然支持响应式、深色模式(prefers-color-scheme)、CSS过渡与主题变量,大幅降低JS干预成本。该方案适用于Vue 2/3项目中的图标组件封装、主题系统集成及

weixin_33881140的博客 392

React Suite 图标颜色自定义指南:通过 @rsuite/icons 与 currentColor 机制实现灵活着色

本文聚焦 React Suite 图标体系(`@rsuite/icons`)的颜色定制能力,完整讲解官方 `color.md` 示例的用法、`fill` 默认值 `currentColor` 的底层着色原理,以及 `Icon` 组件相关 Props 的完整参数说明。读完本文,你将掌握通过 `style` 的 `color` 属性、`fill` 属性为 React Suite 图标任意着色的方法,并

gitblog_00159的博客 222

Bootstrap Icons 日历删除图标 calendar-x 完全指南:SVG 结构、字体码点与五类实战用法

`calendar-x` 是 Bootstrap 官方开源 SVG 图标库(Bootstrap Icons)中"日期与时间"分类下的一个代表性图标,用于表达"删除、移除某个日期/日程"的语义。本文以仓库文档 [docs/content/icons/calendar-x.md](https://link.gitcode.com/i/38466424201abbf9096012cde503d0a3)

gitblog_01193的博客 1041

在 Bootstrap Icons 中使用 calendar-check:SVG 结构、字体码点与页面集成实战

本文围绕 Bootstrap Icons 开源仓库中 [calendar-check 图标文档](https://link.gitcode.com/i/892381b57e65ef1ff10d1911c3eb1dcc) 及其同名 SVG 源文件展开,系统讲解该图标的视觉结构、字形数据、字体码点,以及通过 `<i>` 标签、内联 SVG、CSS 变量等三种主流方式接入项目的方法,同时说明它与其兄弟图

gitblog_00327的博客 1056
上一篇: 理解SVG transform坐标变换
下一篇: 用CSS给SVG <use>的内容添加样式
auragreen
博客等级 码龄19年 40粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值