用 iPhone4/4s 看原本的圖會糊掉,很醜,所以要為 Retina Display 另外寫一些規則。
假設原本是
div{
width: 30px;
height: 30px;
background: url(../images/bg.png) no-repeat 0 0 ;
}
給 Retina Display 吃的樣式要這樣寫:
@media screen and (-webkit-min-device-pixel-ratio: 2) {
div{
background: url(../images/bg@2x.png) no-repeat 0 0 ;
background-size: 30px 30px;
}
}
其中 bg.png 要做成兩倍大,存成 bg@2x.png (也就是後綴@2x),上面這個例子是 30px*30px, 也就是要存成 60px*60px, background-size: 30px 30px 就是指定要顯示的尺寸,沒有加的話圖片一樣是顯示成60px*60px, 總之就是把圖片變成雙倍大,再用 background-size 把它縮小,這樣顯示出來的就會是雙倍的像素。
不過已經寫了 @media screen and (-webkit-min-device-pixel-ratio: 2) 為什麼還要加上後綴@2x 這我不太理解,可能是方便寫程式去自動取代之類的 ex. http://flowz.com/2010/07/css-image-replacement-for-iphone-4-high-dpi-retina-display/ 。等之後有空再來研究一下。








近期迴響