LoginSignup
6
2

More than 5 years have passed since last update.

ViewPortとメディアクエリについてまとめ

Last updated at Posted at 2018-07-20

ViewPortについて

head部分に以下を記述

<meta name="viewport" content="width=device-width, initial-scale=1”>

width=device-widthでデバイスに画面の幅を合わせる
initial-scale=1でデバイスと画面の倍率を合わせる

CSS メディアクエリを利用してレスポンシブにする

レイアウト崩れを防ぐために、要素に相対サイズを指定する

min-width: ブラウザの幅がクエリに定義された値よりも大きい場合にルール適用
max-width: ブラウザの幅がクエリに定義された値よりも小さい場合にルール適用
min-height,max-heightもある
orientation=portrait ブラウザの高さが幅と同じかそれ以上の場合にルール適用
orientation=landscape ブラウザの幅の値が高さよりも大きい場合にルール適用

ViewPortを基準とした単位

CSSにはViewPortを基準とした単位が4つある
vh: viewportの高さに基づいて指定できる。1vhはviewportの高さ1%のこと。
vw: viewportの幅に基づいて指定できる。1vhはviewportの幅1%のこと。
vmin: viewportの幅と高さで小さい方の寸法に基づいて指定できる。
vmax: viewportの幅と高さで大きい方の寸法に基づいて指定できる。
主要ブラウザでほぼ対応済み

(例)viewportの幅が1200px、高さ1000pxの場合
10vwはwidth:120px,12vhはheight:100pxとなる。
vminは高さの方が小さいので100px
vmaxは幅の方が大きいので120px

%指定と異なる部分

%指定は子要素の幅や高さは親要素の幅や高さに対して決定されるが、
ViewPort基準の単位を使用すると子要素が親要素より広い幅や高さを持てるようになる。

vhやvhでdivなどの幅高さを指定すると、スクロールバーを存在しないものとして値をとるため、若干ズレが生じる。そのため、ブロック要素の幅は%で指定した方がよい。

ビューサイズによってフォントサイズを変更したい場合などに使うとよい。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2