人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

独学で勉強をしていまして、わからない事がありまして質問をさせて頂きます。
メディアクエリを実装中で、どの幅に合わせて記述をするのかを迷っています。

メディアクエリを実装するとき、色々な記述の仕方がありますよね?

例えば
・1つ目
@media only screen and(max-width: 320px){・・・}

・2つ目
@media only screen and (min-width: 320px) and (max-width: 480px){・・・}

2つ目の実装の仕方でお聞きしたい事がありまして、この幅の調整をするとき(max-width: ○○○px)max-widthの幅に合わせて記述していくのか、それとも(min-width: ○○○px)min-widthの幅に合わせて記述していくのか教えて頂けませんでしょうか?

あと、スマホで多く使われている幅は640pxでいいのでしょうか?
それとも320pxの方がいいのでしょうか?

すみませんが、よろしくお願いいたします。

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

当方も独学で恐縮ですが。
min-widthとmax-widthを両方記載した場合、どちらの幅に合わせて記述をすべきかという話ですが、どちらにも合うように記述をすべきです。メディアクエリを勉強なさっているということはレスポンシブデザインを考えてらっしゃるのだと思いますが、一方の幅に合わせて記述したらレスポンシブの良さが損なわれてしまいます。

極端な一例として、2のメディアクエリを利用し、以下のようにCSSを記述したとします。

@media only screen and (min-width:320px) and (max-width:480px){
table{width:300px;}
}

幅320pxに合わせて、テーブルを300pxで表示されるようにしました。
この場合、幅320pxのブラウザではの余白は20pxになりますが、480pxのブラウザで見た時には180pxも生じるため、少々不格好なデザインになります。
逆に幅480pxに合わせようとすると、今度は幅480px以下のブラウザで見た際にデザインが崩れていきます。

ではどうすればよいのかという話になりますが、メディアクエリでブレイクポイントを決めたら、あとは幅の指定は固定pxに頼らず、%で相対的に行っていくのが良いです(いわゆるリキッドレイアウト)。

@media only screen and (min-width:320px) and (max-width:480px){
table{width:90%;}
}

とすると、幅サイズにかかわらず、幅に対して90%のテーブルを作成することができます。
他にもレスポンシブならではのテクニックはいくつかありますが、作成していく中で自分のやりやすい方法を見つけていくと楽しみが増えると思います。
メディアクエリ(というかレスポンシブデザイン)は最初はとっつきにくく、PCデザインに慣れているほどつい固定pxを乱用したくなりますが、慣れれば割と簡単にできるので頑張ってください。


また、スマホ幅ですが、以下を参考にしてください。

iPhone6の時代のviewport設定について
http://qiita.com/fnobi/items/4bec5ddf4ea83c5e1820

以上、長くなってしまいましたが、参考になれば幸いです。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ