国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

記錄--為什么推薦用svg而不用icon?

這篇具有很好參考價(jià)值的文章主要介紹了記錄--為什么推薦用svg而不用icon?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

這里給大家分享我在網(wǎng)上總結(jié)出來(lái)的一些知識(shí),希望對(duì)大家有所幫助

記錄--為什么推薦用svg而不用icon?

使用背景:

記錄--為什么推薦用svg而不用icon?

1.因?yàn)閟vg圖標(biāo)在任何設(shè)備下都可以高清顯示,不會(huì)模糊。而icon會(huì)在顯卡比較低的電腦上有顯示模糊的情況

2.svg圖標(biāo)在頁(yè)面render時(shí) 速度會(huì)比icon稍微快一點(diǎn) 3.實(shí)現(xiàn)小程序換膚功能 ;方案見(jiàn):www.yuque.com/lufeilizhix…

// svg在html里的使用示例01
<div>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<title>home</title>
<path d="M32 18.451l-16-12.42-16 12.42v-5.064l16-12.42 16 12.42zM28 18v12h-8v-8h-8v8h-8v-12l12-9z"></path>
</svg>
</div>

SVG基礎(chǔ)可參考:www.yuque.com/lufeilizhix…

Svg-inline的使用

//示例02

import iconShop from '../assets/menuIcon/shop.svg?inline'
import iconCustomer from '../assets/menuIcon/customer.svg?inline'
import iconCustomerService from '../assets/menuIcon/customerService.svg?inline'
import iconNuCoin from '../assets/menuIcon/nuCoin.svg?inline'
import iconBanner from '../assets/menuIcon/banner.svg?inline'
import iconAccount from '../assets/menuIcon/account.svg?inline'
import iconDataReport from '../assets/menuIcon/dataReport.svg?inline'
import iconVera from '../assets/menuIcon/banner_01.svg?inline'

inline svg是目前前端圖標(biāo)解決方案的最優(yōu)解(當(dāng)然不僅限于圖標(biāo)),而且使用方式也及其簡(jiǎn)單,只要將svg圖標(biāo)代碼當(dāng)成普通的html元素來(lái)使用即可,如:

<!-- 繪制右箭頭 -->
<svg viewBox="0 0 1024 1024" height="1em" width="1em" fill="currentColor">
  <path d="M665.6 512L419.84 768l-61.44-64 184.32-192L358.4 320l61.44-64 184.32 192 61.44 64z" />
</svg>

<!-- 繪制邊框 -->
<svg viewBox="0 0 20 2" preserveAspectRatio="none" width="100%" height="2px">
  <path d="M0 1L20 1" stroke="#000" stoke-width="2px"></path>
</svg>

注意: 新版chrome不支持 # , 需要改成%23 ;stroke="%23000"

作為圖片或背景使用時(shí)

 icon: https://www.baidu.com+ '/icons/icon_01.svg' 
<image  class="headIcon" src="data:image/svg+xml,{{icon}}"></image>
**特別注意 需要把img標(biāo)簽換成image標(biāo)簽**

將上面的代碼插入html文檔即可以很簡(jiǎn)單地繪制出一些圖標(biāo)。 正常情況下會(huì)將svg保存在本地,具體的頁(yè)面中導(dǎo)入,參考示例02 作為組件使用;目的是可復(fù)用 一般來(lái)說(shuō),使用inline svg作為圖標(biāo)使用時(shí),想要保留svg的縱橫比,可以只指定width屬性,但是一般為了清晰都同時(shí)指定height屬性。但如果是像上面繪制邊框這種不需要保留縱橫比的情形,可將preserveAspectRatio設(shè)置為none。

優(yōu)勢(shì)與使用方式

從示例01可以看到,將svg直接作為普通html元素插入文檔中,其本質(zhì)和渲染出一個(gè)div、span等元素?zé)o異,天生具有渲染快、不會(huì)造成額外的http請(qǐng)求等優(yōu)勢(shì),除此之外還有以下優(yōu)勢(shì)之處:

樣式控制更加方便; inline svg頂層的元素會(huì)設(shè)置以下幾個(gè)屬性:

height=“1em” width=“1em” 可以方便地通過(guò)設(shè)置父元素的font-size屬性控制尺寸

fill=“currentColor” 可以方便地根據(jù)父元素或自身的color屬性控制顏色

但是我們也可以為其內(nèi)部的子元素單獨(dú)設(shè)置樣式 參考

注意事項(xiàng)

如需對(duì)svg中各部分分別應(yīng)用樣式,則在設(shè)計(jì)svg時(shí)最好不要將各部分都編于一組,可以將應(yīng)用相同樣式的部分進(jìn)行分別編組,其他不需要設(shè)置樣式的部分編為一組,這樣我們?cè)趹?yīng)用樣式時(shí),只需為對(duì)應(yīng)的標(biāo)簽設(shè)置class屬性即可。

一般在拿到svg文件后,推薦使用svgo優(yōu)化svg代碼,節(jié)省體積,但是如果我們需要針對(duì)性設(shè)置樣式時(shí)則需要謹(jǐn)慎使用,因?yàn)閮?yōu)化代碼會(huì)進(jìn)行路徑合并等操作,可能我們想要設(shè)置的子元素已經(jīng)不是獨(dú)立的了。

inline svg的復(fù)用及組件化

同一個(gè)inline svg必須能夠進(jìn)行復(fù)用,將需要復(fù)用inline svg封裝成組件

// 使用inline svg組件
import AnySvgIcon from './inline-svg-component'
<AnySvgIcon width="16px" height="16px" />

本文轉(zhuǎn)載于:

https://juejin.cn/post/7243680440690638904

如果對(duì)您有所幫助,歡迎您點(diǎn)個(gè)關(guān)注,我會(huì)定時(shí)更新技術(shù)文檔,大家一起討論學(xué)習(xí),一起進(jìn)步。

?記錄--為什么推薦用svg而不用icon?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-481153.html

到了這里,關(guān)于記錄--為什么推薦用svg而不用icon?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ChatGPT對(duì)話為什么不用WebSocket而使用EventSource?

    ChatGPT對(duì)話為什么不用WebSocket而使用EventSource?

    ??ChatGPT對(duì)話為什么不用WebSocket而使用EventSource? ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁(yè):IT·陳寒的博客 ??該系列文章專欄:AIGC人工智能 ??其他專欄:Java學(xué)習(xí)路線 Java面試技巧 Java實(shí)戰(zhàn)項(xiàng)目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??文章作者技術(shù)和水平有限,如果文中出現(xiàn)錯(cuò)

    2024年02月04日
    瀏覽(30)
  • 【知識(shí)儲(chǔ)備】Transformer為什么用LN而不用BN
  • 邏輯回歸為什么使用交叉熵而不用均方差?

    邏輯回歸為什么使用交叉熵而不用均方差?

    邏輯回歸為什么使用交叉熵而不用均方差?或者說(shuō)邏輯回歸的損失函數(shù)為什么不用最小二乘? 下面主要從兩個(gè)角度進(jìn)行闡述: 從邏輯回歸的角度出發(fā),邏輯回歸的預(yù)測(cè)值是一個(gè)概率,而交叉熵又表示真實(shí)概率分布與預(yù)測(cè)概率分布的相似程度,因此選擇使用交叉熵 從均方差

    2024年02月21日
    瀏覽(28)
  • Elasticsearch 為什么能做到快速檢索?秘密在這里!,Java全棧知識(shí)體系

    Elasticsearch 為什么能做到快速檢索?秘密在這里!,Java全棧知識(shí)體系

    如果你了解 ES 應(yīng)該知道,ES 可以說(shuō)是對(duì) Lucene 的一個(gè)封裝,里面關(guān)于倒排索引的實(shí)現(xiàn)就是通過(guò) lucene 這個(gè) jar 包提供的 API 實(shí)現(xiàn)的,所以下面講的關(guān)于倒排索引的內(nèi)容實(shí)際上都是 lucene 里面的內(nèi)容。 三、倒排索引 首先我們還不能忘了我們之前提的搜索需求,先看下建立倒排索引

    2024年04月12日
    瀏覽(19)
  • 為什么很多程序員不用switch,而是大量 的if......else if?

    不會(huì)吧還有人用if else和switch case?三目運(yùn)算符? 不會(huì)吧? 不會(huì)吧?大佬都是全都不用的!以JAVA為例 條件判斷語(yǔ)句的四種寫(xiě)法,茴字的四種寫(xiě)法大家不會(huì)不知道吧 1.正常人寫(xiě)法: //輸出 :張三應(yīng)該去男廁所 2.Lambda策略模式寫(xiě)法: 某些大公司P6級(jí)別以上(年薪30w-50w)標(biāo)準(zhǔn)寫(xiě)法

    2024年02月15日
    瀏覽(21)
  • 游戲引擎中為什么要用四元數(shù)表示旋轉(zhuǎn)而不用歐拉角旋轉(zhuǎn)?

    個(gè)人觀點(diǎn),僅供參考,如有錯(cuò)誤可太刺激了 四元數(shù)的簡(jiǎn)單概念和使用 歐拉角通常用于表示一個(gè)物體的 旋轉(zhuǎn)狀態(tài) ,而不是表示 旋轉(zhuǎn)過(guò)程 。 歐拉角描述的是物體相對(duì)于某個(gè)參考坐標(biāo)系的朝向或旋轉(zhuǎn)狀態(tài),通常以不同的軸(例如,繞X軸、Y軸和Z軸)的旋轉(zhuǎn)角度來(lái)表示。這可以讓

    2024年02月06日
    瀏覽(30)
  • 為什么我不再推薦枚舉策略模式

    一、為什么講策略模式 二、經(jīng)典策略模式 三、基于枚舉的策略模式 四、基于工廠的策略模式 策略模式,應(yīng)該是工作中比較常用的設(shè)計(jì)模式,調(diào)用方自己選擇用哪一種策略完成對(duì)數(shù)據(jù)的操作,也就是“一個(gè)類的行為或其算法可以在運(yùn)行時(shí)更改” 我個(gè)人的理解是 將一些除了過(guò)

    2024年02月07日
    瀏覽(18)
  • MySQL為什么不推薦使用in

    有的時(shí)候博客內(nèi)容會(huì)有變動(dòng),首發(fā)博客是最新的,其他博客地址可能會(huì)未同步,認(rèn)準(zhǔn) https://blog.zysicyj.top 首發(fā)博客地址 系列文章地址 當(dāng)使用IN語(yǔ)句時(shí),MySQL可能會(huì)遇到以下問(wèn)題: 索引問(wèn)題:MySQL使用索引來(lái)加速查詢,但在使用IN語(yǔ)句時(shí),MySQL可能無(wú)法有效地使用索引。這是因?yàn)?/p>

    2024年02月09日
    瀏覽(27)
  • 為什么js中不推薦使用eval函數(shù)

    \\\'eval\\\'函數(shù)是javascript中的一個(gè)內(nèi)置函數(shù),它的主要作用是將傳入的字符串作為代碼來(lái)執(zhí)行。換句話說(shuō),\\\'eval\\\'可以將動(dòng)態(tài)生成的字符串當(dāng)作javascript代碼來(lái)執(zhí)行,并返回執(zhí)行結(jié)果。 我的理解就是它可以執(zhí)行傳入的代碼,并返回執(zhí)行結(jié)果。 \\\'eval\\\'可以執(zhí)行任何傳入的字符串,所以意味

    2024年02月08日
    瀏覽(23)
  • 為什么不推薦使用Lombok?@Data不香嗎?

    為什么不推薦使用Lombok?@Data不香嗎?

    目錄 一、前言 二、源碼跟蹤 三、總結(jié) 之前寫(xiě)項(xiàng)目遇到的一個(gè)Bug,下面是模擬代碼。 新建一個(gè)springboot的項(xiàng)目,Person一個(gè)實(shí)體類,定義一個(gè)方法傳一個(gè)JSON數(shù)據(jù) springboot啟動(dòng)之后postman發(fā)送一次請(qǐng)求。 請(qǐng)求路徑:http://localhost:8080/user JSON數(shù)據(jù): 后臺(tái)輸出結(jié)果 我們會(huì)發(fā)現(xiàn),aName字段

    2024年02月09日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包