日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

Retina时代的前端视觉优化

發(fā)布時間:2023/12/13 HTML 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Retina时代的前端视觉优化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

隨著New iPad的發(fā)布,平板也將逐漸進入Retina時代,在高分辨率設(shè)備里圖片的顯示效果通常不盡人意,為了達到最佳的顯示效果就需要對圖片進行優(yōu)化,這里介紹一些優(yōu)化方法:

一、用CSS替代圖片

這一點在任何時候都適用;只是在當前我們可以更多的使用樣式表來制作出設(shè)計效果,CSS3的圓角、漸變、模盒陰影、字體陰影能幫助我們處理絕大多數(shù)視覺效果,并且在各種分辨率下都有良好的表現(xiàn)。

CSS Button

二、為高分辨率設(shè)備提供高清圖片

如果必須使用圖片,通常是準備2套圖片,一套原始尺寸( 為普通設(shè)備準備 ),一套兩倍尺寸( 為高分辨設(shè)備準備 ),再根據(jù)設(shè)備的分辨率調(diào)用不同的圖片,調(diào)用的方式有2種:

1.使用CSS媒體查詢( CSS media queries ),適用于根據(jù)不同分辨率來加載不同的背景圖片
內(nèi)聯(lián)樣式:
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2){
/* 2倍分辨率 執(zhí)行樣式*/
}

外鏈樣式:
<link href="retina.css" rel="stylesheet" type="text/css" media="only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)"/>

2.使用Javascript替換圖片地址,適用于<img>標簽加載的外鏈圖片
首先使用 window.devicePixelRatio 來判斷是否為高分辨率,然后替換圖片的地址。

想了解此方法的細節(jié),可以參考下這篇分析apple.com方案的文章:
http://blog.cloudfour.com/how-apple-com-will-serve-retina-images-to-new-ipads/
下面是文中提到的 image_replacer.js 源碼:
https://gist.github.com/2029936

三、 Icon優(yōu)化

獨特的Icon是大多數(shù)網(wǎng)站必備的設(shè)計元素,常規(guī)的處理方式是使用 sprite 技術(shù),配合上面介紹的 CSS media queries 方法達到最優(yōu)的顯示效果,除此之外前端工程師也在探索一些新的優(yōu)化方式:

1.Icon Fonts
將圖標制作成特殊的字體,然后使用CSS3的自定義字體(@font-face)調(diào)用

優(yōu)點:

  • 文件體積小,一般20-50kb;
  • 圖標可以通過CSS更改尺寸和顏色,添加陰影,hover顏色等。

缺點:

  • 制作成本較高,你需要矢量圖形處理軟件和專業(yè)的字體制作軟件;
  • 不易維護,不同瀏覽器支持的字體格式不一樣,需要制作多份。

一些現(xiàn)成的Icon Fonts資源,基本可滿足常規(guī)的設(shè)計需求:

  • MODERN PICTOGRAMS
  • Font-Awesome
  • Social Media Icons Pack
  • PulsarJS @FontFace
  • ClickBits Web Icon System( 需付費 )

如果你對Icon Fonts的制作方法感興趣可以參考這篇文章《CSS3 icon font完全指南》:
http://www.qianduan.net/css3-icon-font-guide.html

2.CSS Icon
與Icon Fonts思路類似,不同的是使用CSS來制作各種圖標

優(yōu)點:

  • 文件體積小,尺寸與Icon Fonts相當
  • 同樣可以隨意修改尺寸和顏色,添加陰影等。
  • 修改方便,調(diào)用靈活

缺點:

  • 受限于瀏覽器渲染能力,在不同瀏覽器中表現(xiàn)不一

資源:

  • Pure CSS GUI icons

關(guān)于CSS Icon的制作會在以后做介紹( 先挖個坑=。= )

3.SVG Icon
SVG是一種可伸縮矢量圖形,調(diào)用方式和jpg、png等格式圖片一樣,通過CSS即可加載:
background-image: url('sprite.svg');
優(yōu)點:

  • 文件體積小,因為SVG是XML格式定義圖形,所以可壓縮性更高
  • 在縮放時圖形質(zhì)量不會有所損失
  • 可以用來動態(tài)生成圖形

缺點:

  • 同樣受限于瀏覽器,支持SVG的瀏覽器有:Internet Explorer 9+、Firefox 4+、Chrome 4+、Safari 4+、Opera 9.5+

四、Canvas圖片處理

這個方法有點偏門,來自嗷嗷的一篇文章:Retina 顯示屏下 @2x 圖片的模擬

優(yōu)點

  • 大部分圖片效果比原來好,不用做@2x 的圖片
  • 多終端統(tǒng)一維護,腳本漸進增強
  • 文件小省帶寬,3G 時還是有一定的優(yōu)勢 用EDGE的就更不用說了。

缺點

  • 效果真心沒 @2x的好,當然如果有更好的算法也難說
  • canvas 讀圖片數(shù)據(jù)存在跨域問題
  • 銳化目前的實現(xiàn),基本就是讀點的操作,大圖片手機估計吃不消

寫在最后

達到高分辨率下最佳的視覺效果固然不錯,但加載速度也是用戶體驗重要指標之一。所以有時候我們也要在優(yōu)質(zhì)與高速之間找一個平衡點,這里可以通過 navigator.connection 來判斷用戶的網(wǎng)絡(luò)環(huán)境,如果是EDGE那還是斟酌下是否要給用戶提供高清圖片。

轉(zhuǎn)載于:https://www.cnblogs.com/shihao/archive/2012/05/21/2511061.html

總結(jié)

以上是生活随笔為你收集整理的Retina时代的前端视觉优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。