Open hysryt opened 6 years ago
max-height: 767px
メディアクエリ
→ 767px はでかすぎる。PCも範囲に入ってしまう。max-height: 450px
メディアクエリ
→ まあまあいいかもより排他的にする場合は orientation
も使う。
/* 横向きスマホ */
@media (orientation: landscape) and (max-height: 450px) {
...
}
/* 縦向きスマホ */
@media (orientation: portrait) and (max-width: 767px) {
...
}
縦横関係なくスマホ指定の場合は max-width: 767px
だけでいいと思う
→ PCで横767pxで見る人は少ないから
デバイスピクセル比
デバイスピクセル比での切り替えには
min(max)-resolution
を使用する。 Safari は対応していないので代わりに-webkit-min(max)-device-pixcel-ratio
を使用する。dppx
はdot per pixel
の略で 1px あたりのドット数。距離で見た場合の 1px なので デバイスピクセル比が 2 の場合は 2dppx。4dppxではない。min(max)-resolution
にはdppx
以外にdpi
、dpcm
が使用できるが、デバイスピクセル比を指定するならmin(max)-device-pixel-ratio
の指定値に単位をつけるだけのdppx
が一番使いやすい。dpi
でも記述はできる。CSSの仕様では1インチ
は96px
。Retina ディスプレイだろうが普通のディスプレイだろうが CSS 上では1インチ = 96px
なので、1dppx
の時は96dpi
となる。これをもとに計算すると2dppx
の場合は192dpi
になる。IE11 は
dppx
に対応していないのでdpi
で記述する。しかし IE11 かつ デバイスピクセル比が 1 より大きい環境はかなり少ないし1dppx = 96dpi
というのも覚えづらいので無視してもいいと思う。min(max)-device-pixel-ratio
は Apple が Retina ディスプレイ開発時に作った独自メディアクエリで、標準規格ではない。https://developer.mozilla.org/ja/docs/Web/CSS/resolution