最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用css sprites來優(yōu)化你的網(wǎng)站在Retina屏幕下顯示實(shí)現(xiàn)原理與代碼

  發(fā)布時間:2012-12-24 10:20:47   作者:佚名   我要評論
CSS sprites(CSS圖片精靈)已經(jīng)存在很久了。事實(shí)上,八年前就有CSS Sprites的詳細(xì)介紹。CSS Sprites為一些大型的網(wǎng)站節(jié)約了帶寬,讓提高了用戶的加載速度和用戶體驗(yàn),不需要加載更多的圖片,需要的朋友可以詳細(xì)了解下

特別聲明:此篇文章根據(jù)Maykel的英文文章《Using CSS Sprites to optimize your website for Retina Displays 》進(jìn)行翻譯,整個譯文帶有我們自己的理解與思想,如果譯得不好或不對之處還請同行朋友指點(diǎn)。CSS sprites(CSS圖片精靈)已經(jīng)存在很久了。事實(shí)上,八年前就有CSS Sprites的詳細(xì)介紹。CSS Sprites為一些大型的網(wǎng)站節(jié)約了帶寬,讓提高了用戶的加載速度和用戶體驗(yàn),不需要加載更多的圖片。

對于小型網(wǎng)站,CSS Sprites并沒有帶來很大的變化,或許這樣使用并不理想。但在是高分辨率的顯示屏幕下,比如說Retina屏幕下,CSS Sprites將會起來越重要。

優(yōu)化高分辨的屏幕

優(yōu)化高分辨率下的屏幕下效果,你需要通過“media queries”準(zhǔn)備一張大的圖片。所以在正常分辨率下加載的是“@1x”圖像,在高分辨率下加載的是@2像素下的效果。這就意味著,你的圖片數(shù)要增加兩倍,而且CSS樣式中也需要增加兩倍。

是的,我們通過javascript可以解決,但是我們沒有找到通過代碼真正解決的方法。但是通過css sprites技術(shù),我們只需要通過CSS的選擇器來覆蓋@1x的圖片。

接下來的例子中,我們只通地四個選擇器來控制不同的圖片資源。首先會使用Retina技術(shù),你可以為獨(dú)立的元素使用不同的代碼。然后在非視網(wǎng)膜屏幕下使用200x200px的的CSS Sprites圖片。

使用css sprites來優(yōu)化你的網(wǎng)站在Retina屏幕下顯示


復(fù)制代碼
代碼如下:

span.location {
background: url(location.png) no-repeat 0 0;
}
span.success {
background: url(success.png) no-repeat 0 0;
}
a.delete {
background: url(delete.png) no-repeat 0 -100px;
}
.content a.fav-link {
background: url(favorite.png) no-repeat 0 0;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
span.location {
background-image: url(location@2x.png);
background-size: 16px 14px;
}
span.success {
background-image: url(success@2x.png);
background-size: 13px 14px;
}
a.delete {
background: url(delete@2x.png) no-repeat 0 -100px;
}
.content a.fav-link {
background-image: url(favorite@2x.png);
background-size: 11px 13px;
}
}


復(fù)制代碼
代碼如下:

span.location {
background: url(sprite.png) no-repeat 0 0;
}
span.success {
background: url(sprite.png) no-repeat -100px 0;
}
a.delete {
background: url(sprite.png) no-repeat -100px -100px;
}
.content a.fav-link {
background: url(sprite.png) no-repeat 0 -100px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {
span.location,
span.success,
a.delete,
.content a.fav-link {
/* Reference the @2x Sprite */
background-image: url(sprite@2x.png);
/* Translate the @2x sprite's dimensions back to 1x */
background-size: 200px 200px;
}
}

:記住上面的這個例子僅適用于Retina屏幕下的設(shè)備,目前僅在IOS的移動設(shè)備iPhone4s、iPhone5、iPad、iPod和Mackbook Pro。對于Android系統(tǒng)下,要取決于你的系統(tǒng),采用不同的“min-device-pixel-ratio”。

總結(jié)
    不應(yīng)該將所有的資源引入一個文件中,應(yīng)該使用CSS sprite 來集成圖片。創(chuàng)建@2x的sprites圖,這個圖剛好是普通圖的兩倍,而且具有雙向擴(kuò)展在Retina屏幕下,對應(yīng)的元素上使用相同的Scripts圖片使用background-size屬性來確保你的@2x Sprites圖正確定位

注意,這只是一個簡單的例子,里面對三個元素設(shè)置了背景圖,你可以根據(jù)需要在你的站點(diǎn)上使用更多的圖片,按這種方式。在Retina屏幕下,使用這種方法,不僅節(jié)約了http的請求,還讓你的代碼簡潔易于維護(hù),同時在Retina下也更高效。

譯者手語:初次翻譯前端技術(shù)博文,整個翻譯依照原文線路進(jìn)行,并在翻譯過程略加了個人對技術(shù)的理解。如果翻譯有不對之處,還煩請同行朋友指點(diǎn)。謝謝!

相關(guān)文章

最新評論

云和县| 区。| 北海市| 徐闻县| 黎川县| 出国| 田阳县| 松溪县| 个旧市| 宁阳县| 英吉沙县| 都江堰市| 枝江市| 永胜县| 永嘉县| 南涧| 德昌县| 海阳市| 嫩江县| 保康县| 广平县| 塔河县| 濮阳市| 乌鲁木齐市| 灵宝市| 海宁市| 安新县| 广水市| 乐安县| 南宫市| 宣化县| 樟树市| 宁武县| 米林县| 盈江县| 砚山县| 民和| 拉萨市| 阜新市| 井冈山市| 滦平县|