CSS中引用svg圖片支持動態(tài)切換顏色的實現(xiàn)代碼

當我們添加一張svg圖片顯示時,react提示找不到文件。
我們可以在全局文件global.d.ts內(nèi),添加圖片類型的聲明:
詳見《TypeScript 引用資源文件后提示找不到的錯誤處理方案》
聲明之后,引用不報錯了。然后我們看看svg圖片,里面有顏色及其它設(shè)置:
<?xml version="1.0" encoding="UTF-8"?> <svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>窗口_返回</title> <g id="控件" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="窗口_返回"> <rect id="Rectangle-6" fill="#D8D8D8" opacity="0" x="0" y="0" width="24" height="24"></rect> <path d="M8.35417135,12.9957726 C8.13320936,12.7345458 8,12.3967967 8,12.0279541 C8,11.6586058 8.13357489,11.3204363 8.3550807,11.0590615 L8.3521103,11.0564202 L14.356041,4.51971371 L14.3599873,4.52318728 C14.635253,4.20288524 15.0434555,4 15.4990737,4 C16.3280124,4 17,4.67157288 17,5.5 C17,5.8870199 16.8533375,6.23980607 16.6125263,6.50587693 L16.6210783,6.51340439 L11.5390798,12.0228281 L16.5124905,17.3935277 C16.8121157,17.6677653 17,18.0619548 17,18.5 C17,19.3284271 16.3280124,20 15.4990737,20 C15.0262153,20 14.6044287,19.7814702 14.3293154,19.439953 L8.35278214,12.9970098 L8.35417135,12.9957726 L8.35417135,12.9957726 Z" id="Oval-43-Copy-3" fill="#808080"></path> </g> </g> </svg>
是否可以根據(jù)一張svg,顯示不同的效果?比如hover后高亮
理論上添加xml代碼解析,然后將svg以組件形式添加渲染,是可行的。
在網(wǎng)上逛了一圈,發(fā)現(xiàn)大多數(shù)都比較水,很多是通過加載全局的圖片,作為單獨組件或者緩存來使用,不適用
react-inlinesvg
發(fā)現(xiàn)了一個比較不錯的開源,超級不錯,安利!
https://github.com/gilbarbara/react-inlinesvg
安裝:npm i react-inlinesvg
或者 yarn addreact-inlinesvg
添加引用:import SVG from 'react-inlinesvg';
添加圖片:
import BackPng from '../../../../assets/images/back.svg'; <SVG className="backIcon" src={BackPng} />
設(shè)置動態(tài)樣式:
&:hover { path { fill: #4ecb78; } .backContent { color: #4ecb78; } } &:active { path { fill: #2baf57; } .backContent { color: #2baf57; } }
到此這篇關(guān)于CSS中引用svg圖片支持動態(tài)切換顏色的實現(xiàn)代碼的文章就介紹到這了,更多相關(guān)css svg動態(tài)切換顏色內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- 這篇文章主要介紹了基于Css Variable的主題切換完美解決方案,本文通過實例代碼圖文相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參2020-06-18
- 這篇文章主要介紹了詳解如何簡單實現(xiàn)CSS主題的切換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習2020-06-15
- 這篇文章主要介紹了純css實現(xiàn)選中切換效果的示例的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一2019-07-09
- 這兩個概念是來源于 macOS系統(tǒng) ,該系統(tǒng)為用戶提供兩個主題皮膚,即 高亮 和 暗色 系的皮膚。接下來通過本文給大家分享使用CSS實現(xiàn)黑暗模式和高亮模式的切換功能,感興趣的2019-06-14
純CSS免費讓網(wǎng)站擁有暗黑模式切換功能的實現(xiàn)代碼
這篇文章主要介紹了純CSS免費讓網(wǎng)站擁有暗黑模式切換功能的實現(xiàn)代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-22