svg圖標無法修改顏色的解決方案

問題原因:該部分svg圖標帶有fill屬性管挟,不能直接通過css 修改fill屬性退渗。
解決思路:一、移除默認顏色(去色操作)走诞;二、利用CSS3濾鏡filter中的屬性drop-shadow蛤高。


思路一:移除默認顏色(去色操作)
  1. 用編輯器打開.svg文件蚣旱,搜索fill="#xxx" ,刪除后即可通過css進行修改戴陡。
  2. 或者將如下代碼刪除即可塞绿。
  <defs>
    <style>
      .cls-1 {
        fill: #xxx;
      }
    </style>
  </defs>

  1. 在iconfont.cn上,選中項目中的文件恤批,應用批量操作 -> 批量去色位隶。
思路二:通過CSS3濾鏡filter中的屬性drop-shadow改變svg的顏色。
// 通過img引入的svg文件开皿。
// 此時css對svg文件無法生效涧黄,要用到CSS3濾鏡filter中的drop-shadow,通過生產一個可指定顏色的陰影放置于svg的位置赋荆,并將原始svg移出視線
<img src="img/success.svg">

img{
    position: relative;
    left: -80px;
    filter: drop-shadow(#fff 80px 0);   // 投影顏色
}
svg {
    fill: currentColor;  //currentColor為css變量笋妥,自動讀取當前元素顏色
}
drop-shadow相關:

要使用標準的 css3 實現(xiàn)某元素的投影效果,有兩個方法窄潭,第一個就是使用常見的 box-shadow 春宣,第二個就是使用 css3 的 filter 陰影濾鏡 drop-shadow。

  1. filter 中的 drop-shadow 與 box-shadow 有同樣的參數(shù)值,但表現(xiàn)效果有差異月帝。drop-shadow沒有內陰影效果躏惋;drop-shadow不能陰影疊加。
  2. drop-shadow濾鏡可通過給元素或圖片非透明區(qū)域添加投影改變png小圖片顏色嚷辅。
    原理如下:
    對于背景透明的 png 小圖片而言簿姨,如果我們施加一個不帶模糊的投影,等同于生成了另外一個顏色的小圖片簸搞。
    我們把原始圖片隱藏在容器外面扁位,投影圖片在容器中間,給人的感覺就是換了顏色的圖片趁俊。
    然后域仇,來一個向左偏移,再來一個 overflow:hidden 原圖就隱藏掉了寺擂,只剩下一個投影圖片暇务。
    Q&A
    1、在 Chrome 瀏覽器下怔软,drop-shadow 有一個如下的呈現(xiàn)特性:

在 Chrome 瀏覽器下般卑,如果一個元素的主體部分,無論以何種方式爽雄,只要在頁面中不可見,其 drop-shadow 是不可見的沐鼠。
實體部分哪怕有 1 像素可見挚瘟,則 drop-shadow 完全可見。

所以:

  • text-indent 負值隱藏原始圖饲梭,無投影乘盖,失敗
  • clip 剪裁隱藏,無投影憔涉,失敗
  • margin 負值隱藏原始圖订框,無投影,失敗
  • left 負值隱藏原始圖兜叨,無投影穿扳,失敗

通通不行,實現(xiàn)遇到了巨大的阻礙国旷。
后來想矛物,如果我實體部分也在可視區(qū)域內,但是是透明的跪但,會怎樣呢(反正不會有投影出來)
于是履羞,就嘗試了經(jīng)常帶來意外驚喜的透明邊框,結果是可喜的
因此,下面這一個 css 聲明式千萬不能少的:

border-right: 20px solid transparent;

關于兼容性
IE13+ 支持忆首,Chrome 和 FireFox 瀏覽器支持爱榔,移動端 ios 支持,Android 4.4+ 支持糙及。也就是详幽,基本上,移動端現(xiàn)在可以使用這種技術了丁鹉。

另:

filter: grayscale(100%); //grayscale是一個將圖像轉換為灰度圖像的函數(shù)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末妒潭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子揣钦,更是在濱河造成了極大的恐慌雳灾,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,423評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冯凹,死亡現(xiàn)場離奇詭異谎亩,居然都是意外死亡,警方通過查閱死者的電腦和手機宇姚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評論 2 385
  • 文/潘曉璐 我一進店門匈庭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浑劳,你說我怎么就攤上這事阱持。” “怎么了魔熏?”我有些...
    開封第一講書人閱讀 157,019評論 0 348
  • 文/不壞的土叔 我叫張陵衷咽,是天一觀的道長。 經(jīng)常有香客問我蒜绽,道長镶骗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,443評論 1 283
  • 正文 為了忘掉前任躲雅,我火速辦了婚禮鼎姊,結果婚禮上,老公的妹妹穿的比我還像新娘相赁。我一直安慰自己相寇,他們只是感情好,可當我...
    茶點故事閱讀 65,535評論 6 385
  • 文/花漫 我一把揭開白布钮科。 她就那樣靜靜地躺著裆赵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪跺嗽。 梳的紋絲不亂的頭發(fā)上战授,一...
    開封第一講書人閱讀 49,798評論 1 290
  • 那天页藻,我揣著相機與錄音,去河邊找鬼植兰。 笑死份帐,一個胖子當著我的面吹牛,可吹牛的內容都是我干的楣导。 我是一名探鬼主播废境,決...
    沈念sama閱讀 38,941評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼筒繁!你這毒婦竟也來了噩凹?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,704評論 0 266
  • 序言:老撾萬榮一對情侶失蹤毡咏,失蹤者是張志新(化名)和其女友劉穎驮宴,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呕缭,經(jīng)...
    沈念sama閱讀 44,152評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡堵泽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,494評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了恢总。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片迎罗。...
    茶點故事閱讀 38,629評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖片仿,靈堂內的尸體忽然破棺而出纹安,到底是詐尸還是另有隱情,我是刑警寧澤砂豌,帶...
    沈念sama閱讀 34,295評論 4 329
  • 正文 年R本政府宣布厢岂,位于F島的核電站,受9級特大地震影響奸鸯,放射性物質發(fā)生泄漏。R本人自食惡果不足惜可帽,卻給世界環(huán)境...
    茶點故事閱讀 39,901評論 3 313
  • 文/蒙蒙 一娄涩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧映跟,春花似錦蓄拣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至荸镊,卻和暖如春咽斧,著一層夾襖步出監(jiān)牢的瞬間堪置,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評論 1 266
  • 我被黑心中介騙來泰國打工张惹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留舀锨,地道東北人。 一個月前我還...
    沈念sama閱讀 46,333評論 2 360
  • 正文 我出身青樓宛逗,卻偏偏與公主長得像坎匿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子雷激,可洞房花燭夜當晚...
    茶點故事閱讀 43,499評論 2 348

推薦閱讀更多精彩內容