前提・実現したいこと
現在Reactの勉強をしています。
react-iconsを使ってアイコンを表示しているのですが、色の変え方がわかりません。
https://react-icons.github.io/react-icons/
黒色なのを例えば赤に変えるにはどうしたらいいでしょうか?
試したこと
以下のようにしてみましたが色が変化しませんでした。
react
1import { IconContext } from "react-icons"; 2 3<IconContext.Provider value={{ color: "blue", className: "global-class-name" }}> 4 <div> 5 <GrDownload /> 6 </div> 7</IconContext.Provider> 8
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
回答締め切っちゃってますが、せっかくなので投稿しますm(__)m
SVGの作りによってはcolorを渡しても色が変わらないようでした。
色が変えられるアイコンの作り
色が変えられるSVGは以下のようになっています。
fillはHTMLでいうとbackgroundみたいなものです。
svg
1<svg> 2 <path fill="#000" /> 3</svg>
色が変えられないアイコンの作り
質問者さんが使用している色が変えられないSVGは以下のようになっていました。
strokeはHTMLでいうとborderみたいなものです。
svg
1<svg> 2 <path stroke="#000" /> 3</svg>
対処方法
CSSのセレクタを使って、strokeの変更をおこなえば、変更することは可能でした。
※SVGで使われている要素は必ずしもpathでは無い可能性があるため、SVG要素を調べる必要はあります。
javascript
1import { GrDownload } from "react-icons/gr"; 2import './icon.css'; 3 4function App() { 5 return ( 6 <div className="App"> 7 <GrDownload className="ico-GrDownload" /> 8 </div> 9 ); 10}
css
1/* icon.css */ 2.ico-GrDownload path { 3 stroke: #f00; /* 赤に変更 */ 4}
投稿2021/06/18 11:09
編集2021/06/18 11:17総合スコア508
0
以下の実装のように
https://codesandbox.io/s/angry-tree-j6zxr?file=/src/App.js
やはりGrDownloadは色が変化しませんでした。色を変更できないものもあるのかもしれません
▼Sample.js
react
1import React, { Component } from 'react'; 2import { FaApple, FaAndroid } from 'react-icons/fa'; 3import { IoIosCloudCircle, IoIosHeartEmpty } from "react-icons/io"; 4import { MdDone } from "react-icons/md"; 5import { TiChartLineOutline } from "react-icons/ti"; 6import { GoBeaker } from "react-icons/go"; 7import { FiAlertOctagon } from "react-icons/fi"; 8import { GiFlyingTrout } from "react-icons/gi"; 9import { WiBarometer } from "react-icons/wi"; 10import { DiChrome } from "react-icons/di"; 11import { AiFillApi } from "react-icons/ai"; 12import {GrDownload} from "react-icons/gr"; 13import { IconContext } from "react-icons"; 14 15 16class Sample extends Component { 17 render() { 18 return ( 19 <h3> 20 <FaApple color={'red'}/> 21 <FaAndroid color={'red'} /> 22 <IoIosCloudCircle color={'red'} /> 23 <IoIosHeartEmpty color={'red'} /> 24 <MdDone color={'red'} /> 25 <TiChartLineOutline color={'red'} /> 26 <GoBeaker color={'red'} /> 27 <FiAlertOctagon color={'red'} /> 28 <GiFlyingTrout color={'red'} /> 29 <WiBarometer color={'red'} /> 30 <DiChrome color={'red'} /> 31 <AiFillApi color={'red'} /> 32 <GrDownload color={'red'}/> 33 <IconContext.Provider value={{ color: "blue" }}> 34 <div> 35 <FaApple /> 36 <FaAndroid /> 37 <IoIosCloudCircle /> 38 <IoIosHeartEmpty /> 39 <MdDone /> 40 <TiChartLineOutline /> 41 <GoBeaker /> 42 <FiAlertOctagon /> 43 <GiFlyingTrout /> 44 <WiBarometer /> 45 <DiChrome/> 46 <AiFillApi/> 47 <GrDownload /> 48 </div> 49 </IconContext.Provider> 50 </h3> 51 ) 52 } 53} 54 55export default Sample
投稿2021/06/18 10:45
総合スコア27
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
表示したいアイコンの呼び出しはされてますか??
色の変更はCSSと同じ16進数とかでもできそうです。(例:#ff0000)
javascript
1import { FaFolder } from 'react-icons/fa';
投稿2021/06/18 10:21
編集2021/06/18 10:26総合スコア508
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/18 17:16
2021/06/18 19:06
2021/06/18 22:46