激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

香港云服务器
服務器之家 - 編程語言 - JavaScript - js教程 - 詳解如何愉快的在微信小程序中使用SVG圖標

詳解如何愉快的在微信小程序中使用SVG圖標

2022-02-13 17:14O_o js教程

這篇文章主要介紹了詳解如何愉快的在微信小程序中使用SVG圖標,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

SVG近幾年因各種優勢被大量的應用,遺憾的是到目前為止微信小程序并不支持以XML的形式使用SVG,這使得SVG的靈活性大大下降,大多數人選擇放棄在微信小程序中使用SVG圖標方案。
那么,真的就沒有辦法在微信小程序中愉快的使用SVG圖標了嗎?我們先來分析一下,對于使用SVG圖標我們有哪些需求:

  • 能夠引入使用
  • 能夠調整顏色

首先第一點是沒有問題的,微信小程序支持以Image.src的形式引入SVG。接下來就是本文的重點部分了,如何讓使Image形式的SVG可以改變顏色。

在最近對CSS的學習中,我發現有個屬性可以可以使DOM的非透明部分投下一個陰影,這個屬性就是drop-shadow,屬性的值與box-shadow大致相近。通過這個屬性,我們就可以為SVG圖片投下個可以修改顏色的陰影,然后我們再將原來的部分隱藏掉就可以實現一個可以修改顏色的SVG圖標了。

接下來我們來實踐一下,首先構造好DOM結構:

?
1
2
3
<view class="svg_icon">
 <image class="svg_icon-inner" src="/path/icon.svg"/>
</view>

接下來添加CSS:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
.svg_icon {
 display: inline-flex;
 width: 1em;
 height: 1em;
 overflow: hidden;
}
 
.svg_icon-inner {
 width: 1em;
 height: 1em;
 transform: translateY(-1em);
 filter: drop-shadow(0 1em 0 currentColor);
}

我來解釋一下為什么要這么設置DOM結構和CSS:首先svg_icon是整個圖標的容器,負責設置圖標的大小(1em=父容器字體的大小),和隱藏多余的部分(即圖標的原始部分),而svg_icon-inner則負責渲染SVG,并投下有顏色的陰影,通過給svg_icon-inner設置一個與父容器相同的寬高并給其設置一個投影反方向的偏移則可以實現改變SVG顏色的需求(將投影的顏色設置為currentColor可以使得圖標的顏色隨著父容器的字體顏色改變)。

這個方案有個缺點,如果頁面中有transform的動畫并觸發時,圖標就會發生閃爍,具體的原因我也不太清楚,希望有大佬能夠指教一下。

到此這篇關于詳解如何愉快的在微信小程序中使用SVG圖標的文章就介紹到這了,更多相關小程序使用SVG圖標內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://juejin.cn/post/6936529740433997861

延伸 · 閱讀

精彩推薦
  • js教程js正則表達式簡單校驗方法

    js正則表達式簡單校驗方法

    在本篇文章里小編給大家整理了一篇關于js正則表達式簡單校驗方法,有需要的朋友們可以參考下。...

    小妮淺淺11272021-12-24
  • js教程微信小程序彈窗禁止頁面滾動的實現代碼

    微信小程序彈窗禁止頁面滾動的實現代碼

    這篇文章主要介紹了微信小程序彈窗禁止頁面滾動的實現代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需...

    任我行RQ5592021-12-23
  • js教程js事件模型與自定義事件實例解析

    js事件模型與自定義事件實例解析

    JavaScript一個最簡單的事件模型,需要有事件綁定與觸發,還有事件刪除。本文將對其具體實現代碼進行解析,需要的朋友一起來看下吧...

    caihg5672021-12-15
  • js教程JavaScript實現瀑布流布局的3種方式

    JavaScript實現瀑布流布局的3種方式

    這篇文章主要為大家詳細介紹了JavaScript實現瀑布流布局的3種方式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    杏子_10247432021-12-20
  • js教程JS中錨點鏈接點擊平滑滾動并自由調整到頂部位置

    JS中錨點鏈接點擊平滑滾動并自由調整到頂部位置

    這篇文章主要介紹了JS中錨點鏈接點擊平滑滾動并自由調整到頂部位置,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的...

    是這樣的三月6522022-01-19
  • js教程詳解uniapp的全局變量實現方式

    詳解uniapp的全局變量實現方式

    這篇文章主要介紹了詳解uniapp的全局變量實現方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    繭君11012021-12-29
  • js教程玩轉 Mockjs,前端也能跑得很溜

    玩轉 Mockjs,前端也能跑得很溜

    mockjs作用就是,生成隨機模擬數據,攔截 ajax 請求,可以對數據進行增刪改查。在生成數據時,我們就需要能夠熟練使用 mock.js 的語法。...

    前端人4832022-01-05
  • js教程微信小程序tab左右滑動切換功能的實現代碼

    微信小程序tab左右滑動切換功能的實現代碼

    這篇文章主要介紹了微信小程序tab左右滑動切換功能的實現代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可...

    壞蛋先生5322022-01-19
519
主站蜘蛛池模板: 国产一区国产二区在线观看 | 久久久久一本一区二区青青蜜月 | 全黄毛片 | 精品国产一区二区三区四区阿崩 | 色日本视频 | xxxxxx中国 | 青久草视频 | 国产精品视频专区 | 暴力强行进如hdxxx | 美女网站黄在线观看 | 26uuu成人人网图片 | 亚洲综合91 | 欧美成人免费 | 黄网免费看 | 在线观看va| 亚洲第一成人久久网站 | 天天碰天天操 | 欧美一级免费高清 | 国产18成人免费视频 | 黄色av网站在线观看 | 性色av一区二区三区四区 | 欧美成人一级 | 牛牛热这里只有精品 | 欧美成年人视频 | 91精品国产91久久久久久不卞 | 久久久av影视 | 蜜桃视频网站在线观看 | 毛片在线视频观看 | 欧美一级淫片免费视频黄 | 在线观看中文字幕av | 日本成人午夜 | 免费国产之a视频 | 视频国产一区二区 | 91精品国产刺激国语对白 | 成年免费观看视频 | 精品一区二区三区中文字幕老牛 | 久久精品观看 | 久久av免费观看 | 欧美精品欧美 | 日韩激情一区二区三区 | 日韩理论电影网 |