<ul id="g60s4"><pre id="g60s4"></pre></ul>
<strong id="g60s4"><nav id="g60s4"></nav></strong>
<ul id="g60s4"></ul>
  • <tr id="g60s4"></tr>
  • 
    
  • 或者

    前端開發(fā)中,對圖片的優(yōu)化技巧有哪些

    作者:飛月 瀏覽:191 發(fā)布時(shí)間:2017-12-13
    分享 評論 0

     1. 去掉無意義的修飾。嗯,我會(huì)瞎說嗎?除了內(nèi)容圖片,其他的圖片的作用是修飾,也就是對于傳達(dá)信息來說并非本質(zhì)性的。最大的優(yōu)化就是壓根不要圖片!所以在優(yōu)化之前要做的,首先是確認(rèn)設(shè)計(jì),設(shè)計(jì)本身是否需要用那么多圖片?還是說可以更簡潔?

      2. 不用圖片。嗯,切圖是一件扯淡的事情!不要隔靴搔癢了少年,直接使用CSS替代圖片來實(shí)現(xiàn)修飾效果吧!如半透明、邊框、圓角、陰影、漸變等,在當(dāng)前主流瀏覽器中都可以用CSS達(dá)成。將來CSS濾鏡得到廣泛支持后,還可以做到alpha混合、正片疊底等各種效果。

      3. 使用矢量圖替代位圖。對于絕大多數(shù)圖案、圖標(biāo)等,矢量圖更小,且可縮放而無需生成多套圖。現(xiàn)在主流瀏覽器都支持SVG了,所以可放心使用!

      4. 使用恰當(dāng)?shù)膱D片格式。我們常見的圖片格式有JPEG、GIF、PNG。基本上,內(nèi)容圖片多為照片之類的,適用于JPEG。而修飾圖片通常更適合用無損壓縮的PNG。而GIF基本上除了GIF動(dòng)畫外不要使用。且動(dòng)畫的話,也更建議用video元素和視頻格式,或用SVG動(dòng)畫取代。除了這些格式之外,Chrome、新版Opera、Android 4+支持WebP格式,IE 9+、IE mobile 10+支持JPEG XR。這兩個(gè)新格式都支持無損和有損壓縮,都具有更良好的壓縮比。當(dāng)然這需要為不同的瀏覽器返回不同的圖片,增加了開發(fā)成本,也增加存儲(chǔ)成本。不過你省了流量或者相同流量下改善了圖片質(zhì)量,提升了用戶體驗(yàn)。你會(huì)如何取舍呢?對了,別忘了使用優(yōu)秀的圖片編碼器及合適的參數(shù)。好的圖片編碼器,尤其是有損圖片格式的編碼器,能通過算法或手動(dòng)調(diào)整,獲得更高的壓縮比。

      以下是普遍適用各種資源而不限于圖片的優(yōu)化手段:

      5. 使用data url。資源內(nèi)嵌于CSS或HTML中,而不必單獨(dú)請求。注意,多個(gè)地方都要使用的資源不一定適合用此優(yōu)化方式,因?yàn)閳D片數(shù)據(jù)重復(fù)多了,增加流量。另外許多瀏覽器對data url有長度限制,注意資源的大小。

      6. 按照HTTP協(xié)議設(shè)置合理的緩存。具體的緩存策略(如永久緩存+重命名)、部署策略(如反向代理、CDN等)這里就不展開了。

      7. 使用支持SPDY的服務(wù)器。SPDY可認(rèn)為是未來的HTTP 2.0的早期實(shí)現(xiàn),Chrome、Firefox 13+、Opera 12+、IE 11+均已支持SPDY。SPDY和HTTP2可參考此中文演講:http://www.youtube.com/watch?v=r74RAcrc1ZA(請自備梯子),這里就不展開了。

      8. 資源的lazyload或postpone。(lazyload:延遲到其他資源下載完成后再加載,postpone:延遲到元素可見再加載。)目前基本上都要用腳本控制。未來HTML和CSS會(huì)增加相關(guān)的控制屬性,見:Resource Priorities。

      9. 資源的prefetch。可用,見http://www.whatwg.org/specs/web-apps/current-work/#link-type-prefetch。注意prefetch只是hint,F(xiàn)irefox會(huì)預(yù)取資源(如果網(wǎng)絡(luò)空閑的話),而IE 9則是對該資源的hostname進(jìn)行DNS預(yù)解析。如果你真的需要更強(qiáng)的控制,則得用腳本。注意:Chrome支持與prefetch相近但更進(jìn)一步的,另外SPDY加入了與prefetch相近但語義不同的subresource link支持,這兩個(gè)新特性我也沒用過,有興趣的可以嘗試。

      圖片的其他優(yōu)化技巧如字體圖標(biāo)、CSS Sprites等,不過我不推薦。用字體圖標(biāo)不如用SVG。使用了SPDY和data url后,CSS Sprites完全沒有必要用了。

      再有各種特定的圖片問題,超出了一般優(yōu)化的范疇。如許多手機(jī)瀏覽器有黑夜模式,其中有的瀏覽器允許定制黑夜模式;有的手機(jī)瀏覽器允許在用戶開啟不加載圖片選項(xiàng)的情況下讓開發(fā)者設(shè)置必須加載的圖片(有點(diǎn)繞);又如許多手機(jī)瀏覽器有所謂云加速模式,即在服務(wù)器端對圖片進(jìn)行處理后再發(fā)送給客戶端,應(yīng)該返回怎樣的圖片給這些服務(wù)器有待研究和實(shí)踐。

      10. 最后是responsive設(shè)計(jì)所需的圖片優(yōu)化,可能要產(chǎn)生多套不同大小和分辨率的圖片,配合media query、以及srcset屬性、picture元素、src-N等標(biāo)準(zhǔn)提案,這個(gè)話題比較大,尚未形成普遍認(rèn)可的最佳實(shí)踐,這里也不多展開了。


    国产精品无码制服丝袜| 国产精品久久亚洲不卡动漫| 亚洲综合国产精品第一页 | 中文字幕精品亚洲无线码一区应用| 久久久无码精品亚洲日韩按摩 | 国产精品久久久99| 日韩午夜免费视频| 国产亚洲美女精品久久久久| 精品久久久久久中文字幕无碍| 亚洲av午夜国产精品无码中文字| 精品国产一二三产品价格| 91精品国产91久久久久| 999国产精品999久久久久久| 四虎国产精品永久在线观看| 亚洲国产精品无码专区| 国产精品偷伦视频观看免费| 思思久久99热只有频精品66| 久久亚洲中文字幕精品一区| 国产成人久久久精品二区三区| 亚洲第一区精品日韩在线播放| 精品99在线观看| 强制高潮18XXXXHD日韩| 日韩亚洲国产高清免费视频| 亚洲日韩中文字幕在线播放| 中文字幕亚洲日韩无线码| 加勒比精品久久一区二区三区| 国产真实乱子伦精品| 日韩一区二区三区在线观看| 国产亚洲日韩在线三区| 亚洲日韩在线视频| 日韩免费a级在线观看| 免费精品国自产拍在线播放| 下载天堂国产AV成人无码精品网站| 日本午夜精品理论片A级APP发布| 精品中文字幕一区在线| 日韩精品一区二区三区中文字幕| 亚洲综合精品网站| 99久久精品国产高清一区二区 | 蜜臀91精品国产免费观看| 精品伊人久久大香线蕉网站| 国产精品成人99一区无码|