首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么React会让我的SVG形状颜色看起来很奇怪?

React是一个用于构建用户界面的JavaScript库,它通过组件化的方式来管理和渲染界面。在使用React开发前端应用时,如果SVG形状的颜色看起来很奇怪,可能是由于以下几个原因:

  1. CSS样式冲突:React中的组件通常会使用自己的CSS样式,而SVG形状也可以通过CSS来设置颜色。如果在React组件中同时使用了CSS样式和SVG形状的颜色设置,可能会导致样式冲突,从而使SVG形状的颜色显示异常。解决方法是检查CSS样式和SVG形状的颜色设置,确保它们不会相互冲突。
  2. React的虚拟DOM机制:React使用虚拟DOM来管理和更新界面,它会根据数据的变化来重新渲染组件。在SVG形状的颜色设置中,如果没有正确地处理React的虚拟DOM机制,可能会导致SVG形状的颜色无法正确更新。解决方法是确保在React组件中正确处理数据变化,并使用React提供的更新机制来更新SVG形状的颜色。
  3. SVG属性设置问题:SVG形状的颜色可以通过fill属性来设置,但在React中,使用JSX语法来创建SVG元素时,需要使用camelCase命名规则来设置属性。例如,将fill属性设置为红色,应该写为fill="red",而不是fill="Red"。如果在设置SVG形状的颜色时没有正确使用camelCase命名规则,可能会导致颜色显示异常。解决方法是检查SVG元素的属性设置,确保使用了正确的命名规则。

总结起来,React会让SVG形状的颜色看起来很奇怪可能是由于CSS样式冲突、React的虚拟DOM机制问题或SVG属性设置问题所导致的。解决方法是检查和调整CSS样式和SVG属性设置,确保它们与React的机制兼容,并正确处理数据变化和更新机制。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

分享一个自由拖拽组件实现思路

自由 svg —— react-svg 有了把 svg document 取出来思路,我们容易能找到一个插件:react-svg,它实现思路与我们上面提到完全一致,此处贴上它核心代码供各位查看...这个时候我们就要用到 svg 自带一个属性:preserveAspectRatio,用来表示是否强制进行统一缩放,当设置为 none 时候,svg 图片不会进行强制统一缩放,如果需要,缩放指定元素图形内容...,即首先用指定绘画填充形状几何形状,然后使用指定绘画描边轮廓。...non-scaling-stroke 该值修改了笔触方式。通常,笔触涉及在当前用户坐标系中计算形状路径笔触轮廓,并用笔触颜料(颜色或渐变)填充轮廓。...当我们设置vector-effect="non-scaling-stroke"后,我们svg终于看起来正常了~ ?

2.2K40

如何在 CSS 中设计出漂亮阴影?

这是内聚阴影第一个技巧:页面上每个阴影都应该共享相同比率。这将使每个元素看起来都来自同一光源。 相同比率? 您可能想知道为什么建议对每个元素使用相同比率。...它以我们元素形状创建一个框,并对其应用基本模糊算法。 因此,我们阴影永远不会看起来逼真,但是我们可以通过一种漂亮技术来改善很多事情:分层。...饱和度和亮度之间关系 如果您熟悉颜色格式,您就会知道饱和度和亮度是独立控制。 那么,降低亮度似乎也会对饱和度产生影响,是不是有点奇怪?...如果我们将亮度设置为 95%,则存在差异,但微妙: 对于非常深颜色也是如此: 然而,当我们处于亮度光谱中间时,全范围饱和度是可用: 以下是看法:50% 亮度是所有色调“默认”版本。...每个阴影颜色数据使用 CSS 变量--shadow-color。 每次更改背景颜色(在Wrapper和BlueWrapper中),更改--shadow-color。

32810

UI界面视觉平衡终极指南

下面是带有辅助线标记版本。 ? 我们再来看一张相似的图片。 ? 是不是发现它们视觉权重变得相似了?不要奇怪,这是因为增加了圆直径。 如果感受不够明显的话,我们将两张图片形状重叠。 ?...现在可以理解为什么图标区域总是大于图标主体了——就是非方形图标看起来不小于方形图标。 ? 在这里给大家一个小技巧——检查视觉平衡最简单方法就是进行模糊化处理。...如果我们要设计一张有折叠条纹和文字元素海报,或者需要一条显眼“打折”条纹,那么就要注意它们在视觉上保持平衡,尖角可以突出形状外围一点,特别是长方形情况。 ?...播放按钮也是一样,如果你直接对齐这些形状,那么它们看起来奇怪。 ? 如果你想三角形位置在视觉上更平衡,那么就把它圈起来,然后将这个圆与按钮背景对齐。 ?...为大家加深理解,从三种常用几何字体——Futura、Circe和Geometria中选取了字母“o”。

2.4K40

React 造轮子系列:Icon 组件思路

简介 本轮子是通过 React + TypeScript + Webpack 搭建,至于环境搭建这边就不在细说了,自己动手谷歌吧。当然可以参考源码。...你如果能说一局【公司的人都在用UI框架】是不是就很牛逼?造 UI 轮子遇到很多技术层面而非业务层面的知识?比如一些算法。 3.为了创造 你为别人做了这么久事情,有没有自己做什么?...4.为什么是 UI 轮子,不是其他方面的轮子 比如,为什么不自己写一个 React 框架,要写 React UI 框架呢?...使用 svg-sprite-loader 加载 SVG 在上面我们指定了 Icon name为wechat,那怎么它显示微信图标呢,首先在阿里 Iconfont 下载对应 SVG image.png...svg, 需要在对应 icon 组件导入对应 svg,这样要是需要100个 svg就要导入100次,这样做太傻,文件也变得冗长。

2.1K20

React 造轮子系列:Icon 组件思路

简介 本轮子是通过 React + TypeScript + Webpack 搭建,至于环境搭建这边就不在细说了,自己动手谷歌吧。当然可以参考源码。...你如果能说一句【公司的人都在用UI框架】是不是就很牛逼?造 UI 轮子遇到很多技术层面而非业务层面的知识?比如一些算法。 3.为了创造 你为别人做了这么久事情,有没有自己做什么?...4.为什么是 UI 轮子,不是其他方面的轮子 比如,为什么不自己写一个 React 框架,要写 React UI 框架呢?...使用 svg-sprite-loader 加载 SVG 在上面我们指定了 Icon name为wechat,那怎么它显示微信图标呢,首先在阿里 Iconfont 下载对应 SVG image.png...svg, 需要在对应 icon 组件导入对应 svg,这样要是需要100个 svg就要导入100次,这样做太傻,文件也变得冗长。

4.6K70

TryShape 背后故事,CSS 剪辑路径属性展示

喜欢形状,尤其是彩色!网站上形状与背景颜色、图像、横幅、部分分隔符、艺术品等属于同一类别:它们可以帮助我们理解上下文并通过可供性告知我们行动。...几个月前,开发了一个应用程序, 7 岁女儿学习数学。除了基本加法和减法之外,目标是用形状来提出问题。那时熟悉了 CSSclip-path属性,这是一种在网络上制作形状可靠方法。...然后,最终使用clip-path. 将带您了解TryShape背后故事,以及它如何帮助创建、管理、共享和导出形状。...使用 CSS 在 TryShape 中创建形状 clip-path 重点介绍有助于使用 CSSclip-path属性创建形状源代码。...导出形状和 CSS 代码片段以在您 Web 应用程序中使用很有帮助。它具有增长潜力,具有更多有价值功能。首要是能够创建具有弯曲边缘形状

2K30

2023年,推荐10个你事半功倍CSS在线生产力工具

谈到 CSS,您总是必须编写许多代码行,才能使您项目在样式方面看起来美观大方。当然,专注于为前端编写好 CSS 很重要,但这个过程可能花费很多时间。...作为 Web 开发人员,CSS 是我们开展项目时必不可少语言之一。知道现在有很多框架可以编写 CSS 代码比以往任何时候都容易得多。...这就是为什么最好使用一些 CSS 生成器来帮助我们为项目生成 CSS 代码。 在这篇文章中,将与您分享一个有用 CSS 生成器列表,您可以在 2023 年使用这些生成器。让我们开始吧。...Neumorphism 目的是营造一种轻松、自然界面设计,并为界面增加立体感和深度。在设计中添加这种元素增加视觉吸引力,界面更加有趣。...该工具可帮助您为项目生成引人注目的 SVG 形状和波浪。 它允许您编辑形状并根据需要自定义它们。然后,您可以复制该形状 SVG 代码,或者根据需要将其下载为 SVG

2.4K31

你不知道SVG

比方说,你想创造几何图案,生成艺术画作将解决你选择困难症。使用什么形状把它们放在哪里?以及应该使用什么颜色?...Silkscreen Squiggles是一个动画,在这个动画中,方块字充满了一个矩形画布。这些方块字变得特别的是,它们看起来有一种画笔质感。...SVG提供了形状,CSS处理了颜色,而mask-image则通过隐藏底层div中与形状不相交东西来完成重任。这是一个聪明方法,可以作为一些有趣实验基础。...这个浏览器扩展可以找到你正在浏览页面上矢量内容,并你选择下载、优化、复制、查看代码或将其导出为图片。SVG Gobbler使你可以容易地从任何网站下载SVG。...收尾我们希望这些技术能够勾起你好奇心,激励你自己尝试一些SVG魔法。如果你遇到了一个有趣SVG技术,你感到敬畏,请不要犹豫,在下面的评论中分享它。我们乐意听到它。祝你创作愉快!

3.6K21

React 入门手册

为什么要学习 React? 强烈建议每一位 Web 开发者都可以对 React 有基本了解。 这是因为以下几个原因: React 十分受欢迎。作为一名开发者,你很可能在将来参与 React 项目。...在开始时,强烈建议一种方法,那就是使用官方推荐工具:create-react-app。 create-react-app 是一个命令行工具,旨在你快速了解 React。...而且将这样代码包含在 JavaScript 文件中有点奇怪:它们看起来一点都不像 JavaScript! 在后台,React 处理 JSX,它们会被转换为浏览器可以识别的 JavaScript。...这种情况非常普遍,并不是只有 HTML 遇到这种困扰, JSX 与 HTML 另一个非常大不同点是 HTML 是 宽松。...这个语法是不是看起来有点奇怪

6.4K10

SVG 菜鸟 Recharts 自定义图表实战

它基于 React 和 D3 构建,具有以下特点: 声明式标签,写图表和写 HTML 一样简单 贴近原生 SVG 配置项,配置项更加自然 接口式 API,解决各种个性化需求... 还提供了 stroke 和 fill 属性,分别对应着边框和填充颜色,path 本质上是一个闭合路径形成形状,我们画图本质上属于边框,因此颜色设置上也是需要用 stroke 来做,具体参考...预定义 clipPath 也就是说,直接在柱子里面引用这里带 clipPath 就好了,但它前缀带着一个仿佛是个 id,这个 id 看起来似乎是全局统一自增。怎么获取到确切 id 呢?...与 React 在做这个需求时也开始直接入门了 SVG,掌握了新一门控制视觉展示技术,满满收获~ React 直接渲染 SVG 也进一步打开了眼界,原来她不仅可以渲染 HTML 元素,也可以直接撸...通过 React 实现一套代码在不同平台上构造许多复杂 UI 逻辑,实实在在地感受到了这样抽象威力所在。

1.5K20

面向前端 Lottie & AE 动画手把手入门教学

本文作者:IMWeb HuQingyang 原文出处:IMWeb社区 未经同意,禁止转载 因为一直比较关注 Web 领域设计趋势, 很早之前就听说了 Lottie 这个项目, 但是一直没时间和机会去尝试...在我们开始之前, 先分析一下动画效果, 可以分成三部分: 位移动画: Y 轴方向往复运动 形状动画: 矩形和圆形之间往复变换 颜色动画: 蓝色和品红色突变 OK, 让我们先来完成位移动画: 首先...这么做意思是: 图层Y轴坐标属性, 在0帧到20帧过程中, 从150动画到380, 是不是容易理解? 现在按下空格键, 预览效果!...这时, 因为我们动画都是匀速运动, 看起来生硬, 因为真实世界中物理运动是有加速度。...重复上述步骤, 将时间轴移到圆形下一次运动到Y轴最低点, 再次添加关键帧圆形变换成矩形, 最终关键帧曲线如图: ? 预览一下效果: ? 现在进行最后一步, 颜色变换。

2.5K50

平庸前端码农之蜕变 — AST

当生成树时候,解析器删除一些没必要标识tokens(比如不完整括号),因此AST不是100%与源码匹配,但是已经能让我们知道如何处理了。...正如我们看到,第一步(解析)和第三步(生成)看起来常规,我们每次都会做这两步。所以,babel接管处理了它俩。最后,我们最为关心,那就是AST转译这一步了。...所以,如果你想创建自动把你代码从旧框架迁移到新框架,这就是一种乃思方式。举个例子,react 16prop-types重构。 ?...但是,中间过程其实并不像它看起来那么简单。 ? 文章迎来尾声,我们继续,今天最后一件事,想提及就是库,叫做js2flowchart(4.5 k stars 在 Github)。 ?...最后一步,我们遍历所有的形状,生成对应SVG,合并所有的SVG到一个文件中。 ?

73140

用这 18 个神奇库,美化了项目,真是亮瞎眼!

它还采用原生 Float32Arrays 存储数字数据,进行高度优化计算。可以调整颜色参数预览效果,而且可以导出图像。 4....对于 95% 动画组件使用案例,我们没有必要用硬编码(把配置写死)式缓冲曲线和时间过渡来重排序。只需要给你 UI 设置一个刚度系数和阻尼系数,接下来神奇物理原理处理即可。...rellax.js压缩后版本仅871个字节,在手机等小屏幕设备中,插件自动限制视觉差特性。 13....,你可以绘制内置形状或者自定义形状,随便,只要你喜欢,你还可以绘制多个动画,再让它们串联在一起,逼话不多说详细请浏览 Mo.js官方网站 15....~完,是刷碗智,这篇文章整理完是北京时间: 2021/09/22 中午:12:35,去刷碗了,我们下期见~ ---- 编辑中可能存在bug没法实时知道,事后为了解决这些bug,花了大量时间进行log

2.3K21

简明教程 | 用 PPT 做卡通热图 - eFP Graph?!

导出svg后,使用一些SVG浏览器,比如Chromosome或者Firefox都有可能改变了真实颜色代码。...而 PPT 输出,说实话,有各种奇奇怪变化。比如 M 这个动作,原本语法要求是“M123 123”,也就是后面跟上坐标,即两个数字。...因为 SVG 解析代码,是自己从零码,而没有用已有三方库。他们都没办法帮我直接转换 SVG 对象为 JIGplot 对象。目的就是转换成 JIGplot 对象,这样可以做各种各样优化。...当然,不止 M,还有其他大量解析代码兼容。总的来说,是崩溃.... 为什么要用 PPT 来搞? 既然 PPT 输出 SVG 这么难搞,为什么一定要搞?...但没关系,反正现在还是坚持清理人,管理上万人社群,其实不是一个小事情。保证群消息干净,交流高效率是一个必要项。 回到主题,相信,一个容易被模仿,被超越工具,一定不是一个好工具。

1.2K40

【译】Web中图像技术总结,前端开发中各种图片引入优点缺点及实例

不仅如此,如果图片因为某种原因没有加载,并且它有一个明确 alt,它将作为一个备用值回退显示。既然有一些有趣事情大家知道,那我们就从视觉上说说吧。...好吧,先补充一些要求: 在与后端CMS整合时,图片应该是容易动态变化。 其上方有一个覆盖层,有助于使内容易于阅读。 图像有三种尺寸:小、中和大。它们每个都用于特定视口。...-- Hero content --> 添加了一个内联CSS背景。虽然这是可行,但它看起来很丑,而且不实用。 也许我们可以使用CSS变量?让我们来探索一下。...4.2.1 带有详细信息Logo 当一个LOGO有很多细节或形状时,用内嵌式SVG可能没有那么多好处。建议使用 ,图片类型可以是png、jpg 或 svg。 ?...悬停时,形状和文本需要更改颜色。怎么做?对来说最好解决方案是使用内联SVG

5.5K20

使用这些不太常用 CSS 属性,在前端布局效率上,又提高了一个层次!

所以我问自己,为什么不搞篇文章列出所有那些较少使用但既有用又有趣 CSS 属性? 在本文中,将介绍一些不一样CSS属性,希望能给你带来点新鲜感,废话不多说,让我们开始吧。...列表 marker 属性 ? 这前,还不知道每个li项旁边默认小圆圈称为marker。...如果和::before具有相同颜色,那么小圆圈默认颜色就是 li 颜色,因此根本不需要伪元素。...object-fit属性是相当神奇且有用。 当我第一次了解它时,它改变了很多事情,使作为前端开发人员生活更加轻松。 最近,正在研究显示徽标网格部分。...其中一些具有水平形状,一些具有垂直形状。?? 通过使用object-fit:contain,可以控制徽标的width和height,并强制将图像包含在定义宽度和高度中。??

2.1K20

web 图像技术:前端引入图片各种方式及其优缺点

在本文中,我们学习引入图像各种方式,以及每种方式优点和缺点,以及何时使用和为什么使用它们。...而另一个alt为空图片,折叠起来看起来像一个小点,这里因为它有边框。 但是,当alt属性有值,它看起来是这样: ? 这不是一个很好反馈吗?此外,当图像源失败时,可以向它们添加伪元素。...带有很多细节 Logo 当徽标具有许多细节或形状时,将其用作嵌入式SVG可能没有好处。 建议使用,图像类型可以是png,jpg或svg。 ? 需要动画简单 Logo ?...我们有一个简单logo ,其中包含形状和文字。 悬停时,形状和文本需要更改颜色。 怎么做? 对来说最好解决方案是使用嵌入式SVG。...响应 Logo 这想起了Smashing Magazinelogo。 喜欢它从一个小图标变成一个完整徽标。 参见下面的模型: ?

4.8K20

平庸前端码农之蜕变 — AST

该译文出自我博客:github.com/CodeLittleP…,博客不定时更新各种类型文章,希望大家支持。 OK,我们直接进入正题。 为什么要谈AST(抽象语法树)?...当生成树时候,解析器删除一些没必要标识tokens(比如不完整括号),因此AST不是100%与源码匹配,但是已经能让我们知道如何处理了。...所以,如果你想创建自动把你代码从旧框架迁移到新框架,这就是一种乃思方式。举个例子,react 16prop-types重构。...它删除很多不重要额tokens,但是将关键块放在一起,如函数、循环、条件等。再之后,我们遍历工作流树并且创建形状树。每个形状节点包含可视化类型、位置、在树中连接等信息。...最后一步,我们遍历所有的形状,生成对应SVG,合并所有的SVG到一个文件中。 结尾 寻找和筛选资料着实辛苦,希望同学们可以多多支持!

45320

使用 CSS Gradient 缺陷实现噪点画面

你可以在自己项目中使用但是在真实项目中使用 SVG 更清晰且更合适。因为该效果因为不同浏览器会有不同,所以你想检验该效果,最好是在 Chrome, Edge 或 Firefox 浏览器。...与其总是修复这些失真的画面,那为什么不反其道而行呢?不知道将会发生什么,但是这是个惊喜!使用 conic gradient 值,然后逐个减少它,使糟糕锯齿效果更加糟糕。...敢打赌,如果没有向你解释它,直接展示给你看,你不会意识到你看到是渐变。你必须仔细去看画面渐变中心才意识到。...代码片段 生成艺术品 如果你继续使用渐变值,你可以得到更加令人惊讶结果。我们可以得到随机形状,就像生成艺术品。...相反,当我无意中发现了它,它给我带来了惊喜。它并不容易控制,并且在不同浏览器表现不一致。 也就是说,很好奇你实现什么效果!

86520

笨办法学 Python · 续 练习 3:质量

你所做事情记忆,你思考最终产品,这是正确行为。...在绘画世界中,这是常见,画家有很多技巧来颠覆现象。...这表明了颜色和对比度明显问题,同时也显示出您需要改变重复形状。在一个优秀作品中,重复形状是不受欢迎。 在镜子中看着一幅画,将其水平翻转,所以你大脑没有如何创造概念。...这显示了绘画太亮或太暗区域,这使得它在颜色看起来奇怪。 通过放在他们前额上镜子来看待绘画和主体,向上看镜子,使镜子和主体上下翻转,以便比较两者。...这显示了绘画明显问题,并使场景和绘画看起来像抽象形状,你大脑没有记忆。 把画放几个月,所以你忘了你怎么做了,然后再次看它。 请你讨厌朋友看看它,他们告诉你他们看到什么。

26410
领券