レスポンシブ Web デザインに手を出しているだけです。デスクトップだけでなくモバイル デバイスでも機能するように、既存のサイトを変更しようとしています。http://2012.inspireconf.com/など、インターネット上のいくつかの例を確認してきました。
私の質問はこれです-画像に関しては...さまざまなブラウザーサイズに合わせてスケーリングする適切な方法は何ですか? CSSで次のテストを試しました:
@media only screen and (max-width: 980px) {
.hero-unit {
background: url("../img/1.jpg") 100% no-repeat;
height: 7em;
width: 14em;
padding: 0.5em;
margin-bottom: 2em;
background-color: #eeeeee;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
}
@media only screen and (min-width: 981px) and (max-width: 1081px) {
.hero-unit {
background: url("../img/2.jpg") 100% no-repeat;
height: 7em;
width: 14em;
padding: 0.5em;
margin-bottom: 2em;
background-color: #eeeeee;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
}
@media only screen and (min-width: 1082px) and (max-width: 1181px) {
.hero-unit {
background: url("../img/3.jpg") 100% no-repeat;
height: 7em;
width: 14em;
padding: 0.5em;
margin-bottom: 2em;
background-color: #eeeeee;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
}
@media only screen and (min-width: 1182px) and (max-width: 1281px) {
.hero-unit {
background: url("../img/4.jpg") 100% no-repeat;
height: 7em;
width: 14em;
padding: 0.5em;
margin-bottom: 2em;
background-color: #eeeeee;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
}
画像ファイルは、1 から 4 までのさまざまな番号の単純な画像です。これは、どの画像ファイルがロードされているかを視覚的に確認するためのものでした。デスクトップでブラウザのサイズを変更すると、メディア クエリが機能していることがわかります...さまざまな画像が読み込まれています。
しかし、実際のサイトでこれを行うとしたら、同じ画像の 5 つの異なるバージョンを作成する必要があることに気付きました。
これを行う「適切な」方法は、1つの大規模な画像/画像を作成し、それを縮小する方法ですか? つまり、CSS は次のようになります。
@media only screen and (max-width: 980px) {
.hero-unit {
background: url("../img/1.jpg") 40% no-repeat;
height: 7em;
width: 14em;
padding: 0.5em;
margin-bottom: 2em;
background-color: #eeeeee;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
}
@media only screen and (min-width: 981px) and (max-width: 1081px) {
.hero-unit {
background: url("../img/1.jpg") 60% no-repeat;
height: 7em;
width: 14em;
padding: 0.5em;
margin-bottom: 2em;
background-color: #eeeeee;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
}
@media only screen and (min-width: 1082px) and (max-width: 1181px) {
.hero-unit {
background: url("../img/1.jpg") 80% no-repeat;
height: 7em;
width: 14em;
padding: 0.5em;
margin-bottom: 2em;
background-color: #eeeeee;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
}
@media only screen and (min-width: 1182px) and (max-width: 1281px) {
.hero-unit {
background: url("../img/1.jpg") 100% no-repeat;
height: 7em;
width: 14em;
padding: 0.5em;
margin-bottom: 2em;
background-color: #eeeeee;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
}
これを試してみましたが、画像が拡大縮小されていないように見えましたが、そもそも画像を適切に作成しなかったためかどうかはわかりません。(私はグラフィック デザイナーではありません)。
ありがとう!