2011年8月31日

スマートフォンで解像度ごとに最適な画像サイズにするdevicePixelRatioの設定


スマートフォンでは機種によって解像度がことなるのは周知のとおり。
100px×100pxの画像をiphone3で表示すると100px×100pxで表示されるが、iPhone4では解像度が2倍なので50px×50pxになってしまいます。

スマートフォンの解像度は横幅320pxを標準として480px、640pxと主に3種類の違いがあります。そこでCSSのmedia query を利用して最適なサイズに書き分けを行います。


/* devicePixelRatio=1(iPhone3~3GS)とdevicePixelRatio未対応ブラウザ */

.className {
     width: 100px;
     height: 100px;
     background: url(image@1x.png); /* 等倍サイズの画像 */
}

/* devicePixelRatio=1.5 (Android系に多い)*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5) {

     .className {
          background: url(image@1.5x.png); /* 1.5倍サイズの画像 */
          -webkit-background-size: 100px 100px; /* WebKit */
          background-size: 100px 100px; /* WebKit以外 */
     }
}

/* devicePixelRatio=2 (iPhone4)*/
@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio: 2) {

     .className {
          background: url(image@2x.png); /* 2倍サイズの画像 */
          -webkit-background-size: 100px 100px; /* WebKit */
          background-size: 100px 100px; /* WebKit以外 */
     }
}

Related entries

Track back URL

http://www.u-ziq.com/cgi/mt/mt-tb.cgi/532

COMENTS

▲TOP

MY TWEET

MY LAST FM

FACEBOOK

SOCIAL CONTENTS