前端開發(fā)之——網(wǎng)頁如何適配Retina屏幕

前言

隨著2012年蘋果發(fā)布第一款Retina Macbook Pro(以下簡稱RMBP),Retina屏幕開始進(jìn)入筆記本行業(yè)池户。兩年過去了黎比,RMBP的市場占有率越來越高斩郎,且獲得了一大批設(shè)計師朋友的青睞第步,網(wǎng)站對于Retina屏幕的適配也變成了迫在眉睫的問題疮装。
如果大家對于Retina適配的重要性不是特別清楚,請看我的兩個截圖:



上圖是Google的首頁LOGO粘都,我們對比下圖SOSO的LOGO:



如果大家還是看不出來廓推,請自行訪問這兩個網(wǎng)站或者下載附件的截圖對比。
說完了重要性翩隧,適配Retina的原理又是什么呢樊展?我們知道,當(dāng)一個圖像在標(biāo)準(zhǔn)設(shè)備下全屏顯示時,一位圖像素對應(yīng)的就是一設(shè)備像素专缠,導(dǎo)致一個完全保真的顯示雷酪,因?yàn)橐粋€位置像素不能進(jìn)一步分裂。而當(dāng)在Retina屏幕下時藤肢,他要放大四倍來保持相同的物理像素的大小太闺,這樣就會丟失很多細(xì)節(jié)糯景,造成失真的情形嘁圈。換句話說,每一位圖像素被乘以四填補(bǔ)相同的物理表面在視網(wǎng)膜屏幕下顯示蟀淮。(摘自《走向視網(wǎng)膜(Retina)的Web時代》)
對此最住,解決方法相信大家也都聽過,就是通過制作兩種不同的圖形怠惶,一張是普通屏幕的圖片涨缚,另外一種是Retina屏幕的圖形,而且Retina屏幕下的圖片是普通屏幕的兩倍像素策治。

原理雖然簡單脓魏,在現(xiàn)實(shí)中要實(shí)現(xiàn)就不僅僅如此,需綜合考慮加載速度通惫,瀏覽器適配等多方面因素茂翔,本文就是教大家如何對Retina的屏幕進(jìn)行適配。

正文

1.直接加載2倍大小的圖片履腋。
假如要顯示的圖片大小為200px300px珊燎,你準(zhǔn)備的實(shí)際圖片大小應(yīng)該為400px600px,并且使用以下代碼控制即可:

![](pic.png)

這種方法就解決了Retina顯示不清楚的問題遵湖,但是在普通屏幕下悔政,這種圖片要經(jīng)過瀏覽器的壓縮,在IE6和IE7上有十分差得顯示效果延旧,同時谋国,兩倍大小的圖片勢必會導(dǎo)致頁面加載時間加長,用戶體驗(yàn)下降迁沫,此時烹卒,我們可以通過Retina.js(http://retinajs.com/)文件解決:

![](pic.png)
<script type="text/javascript">
$(document).ready(function () {
   if (window.devicePixelRatio > 1) {
      var images = $("img.pic");
      images.each(function(i) {
        var x1 = $(this).attr('src');
        var x2 = x1.replace(/(.*)(.w+)/, "$1@2x$2");
        $(this).attr('src', x2);
      });
  }
});
</script>

2.Image-set控制
假如要顯示的圖片大小為200px300px,你準(zhǔn)備的圖片應(yīng)有兩張:一張大小為200px300px弯洗,命名為pic.png旅急;另一張大小為400px*600px,命名為pic@2x.png(@2x是Retina圖標(biāo)的標(biāo)準(zhǔn)命名方式)牡整,然后使用以下css代碼控制:

#logo {
background: url(pic.png) 0 0 no-repeat;
background-image: -webkit-image-set(url(pic.png) 1x, url(pic@2x.png) 2x);
background-image: -moz-image-set(url(pic.png) 1x,url(images/pic@2x.png) 2x);
background-image: -ms-image-set(url(pic.png) 1x,url(images/pic@2x.png) 2x);
background-image: -o-image-set(url(url(pic.png) 1x,url(images/pic@2x.png) 2x);
}
或者使用HTML代碼控制亦可:
![](pic.png)

3.使用@media控制
實(shí)際是判斷屏幕的像素比來取舍是否顯示高分辨率圖像藐吮,代碼如下:

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
       only screen and (min--moz-device-pixel-ratio: 1.5), /* 注意這里的寫法比較特殊 */
       only screen and (-o-min-device-pixel-ratio: 3/2),
       only screen and (min-device-pixel-ratio: 1.5) {
            #logo {
            background-image: url(pic@2x.png);
            background-size: 100px auto;
            }
}

使用這個的確定就是IE6、7、8不支持@media谣辞,所以無效迫摔。但是如果你只是支持蘋果的RMBP的話,不存在兼容問題泥从,因?yàn)镸acOS X上壓根沒有IE句占!哈哈哈!

本文摘自JsonChen的博客躯嫉,原文鏈接:http://www.ui.cn/detail/24556.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纱烘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子祈餐,更是在濱河造成了極大的恐慌擂啥,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帆阳,死亡現(xiàn)場離奇詭異哺壶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蜒谤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門山宾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鳍徽,你說我怎么就攤上這事资锰。” “怎么了旬盯?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵台妆,是天一觀的道長。 經(jīng)常有香客問我胖翰,道長接剩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任萨咳,我火速辦了婚禮懊缺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘培他。我一直安慰自己鹃两,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布舀凛。 她就那樣靜靜地躺著俊扳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪猛遍。 梳的紋絲不亂的頭發(fā)上馋记,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天号坡,我揣著相機(jī)與錄音,去河邊找鬼梯醒。 笑死宽堆,一個胖子當(dāng)著我的面吹牛码荔,可吹牛的內(nèi)容都是我干的纤控。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼属愤,長吁一口氣:“原來是場噩夢啊……” “哼号胚!你這毒婦竟也來了籽慢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤涕刚,失蹤者是張志新(化名)和其女友劉穎嗡综,沒想到半個月后乙帮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杜漠,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年察净,在試婚紗的時候發(fā)現(xiàn)自己被綠了驾茴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡氢卡,死狀恐怖锈至,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情译秦,我是刑警寧澤峡捡,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站筑悴,受9級特大地震影響们拙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜阁吝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一砚婆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧突勇,春花似錦装盯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至定躏,卻和暖如春账磺,著一層夾襖步出監(jiān)牢的瞬間海蔽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工绑谣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留党窜,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓借宵,卻偏偏與公主長得像幌衣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子壤玫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容