Iphone/Androidフォン用のHTMLページをいくつか作成する必要がありますが、max-device-width
とmax-width
の違いは何ですか?画面サイズごとに異なるCSSを使用する必要があります。
@media all and (max-device-width: 400px)
@media all and (max-width: 400px)
違いは何ですか?
max-width
は、ターゲット表示領域の幅です。ブラウザ
max-device-width
は、デバイスのレンダリング領域全体の幅、つまり実際のデバイス画面です
max-height
とmax-device-height
についても同様です。
max-width
はビューポートの幅を指し、max-height
と組み合わせて特定のサイズまたは向きをターゲットにするために使用できます。複数のmax-width
(またはmin-width
)条件を使用すると、ブラウザーのサイズを変更したり、iPhoneなどのデバイスで向きを変更したりするときにページのスタイルを変更できます。
max-device-width
は、向き、現在の縮尺、またはサイズ変更に関係なく、デバイスのビューポートサイズを指します。これはデバイス上では変更されないため、画面の回転やサイズ変更時にスタイルシートやCSSディレクティブを切り替えるために使用することはできません。
このスタイルの使用についてどう思いますか?
ほとんどが「モバイルデバイス」用のすべてのブレークポイントにはmin(max)-device-width
を使用し、ほとんどが「デスクトップ」用のブレークポイントにはmin(max)-width
を使用します。
幅を誤って計算する「モバイルデバイス」がたくさんあります。
http://www.javascriptkit.com/dhtmltutors/cssmediaqueries2.shtml を見てください:
/* #### Mobile Phones Portrait #### */
@media screen and (max-device-width: 480px) and (orientation: portrait){
/* some CSS here */
}
/* #### Mobile Phones Landscape #### */
@media screen and (max-device-width: 640px) and (orientation: landscape){
/* some CSS here */
}
/* #### Mobile Phones Portrait or Landscape #### */
@media screen and (max-device-width: 640px){
/* some CSS here */
}
/* #### iPhone 4+ Portrait or Landscape #### */
@media screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2){
/* some CSS here */
}
/* #### Tablets Portrait or Landscape #### */
@media screen and (min-device-width: 768px) and (max-device-width: 1024px){
/* some CSS here */
}
/* #### Desktops #### */
@media screen and (min-width: 1024px){
/* some CSS here */
}
max-device-widthには定数値(おそらく2)があります
@media all and (max-device-width: 400px) {
/* styles for devices with a maximum width of 400px and less
Changes only on device orientation */
}
@media all and (max-width: 400px) {
/* styles for target area with a maximum width of 400px and less
Changes on device orientation , browser resize */
}
Max-widthはターゲット表示領域の幅であり、ブラウザの現在のサイズを意味します。
違いは、max-device-widthはすべての画面の幅であり、max-widthはブラウザーがページを表示するために使用するスペースを意味することです。しかし、もう1つの重要な違いはAndroidブラウザーのサポートです。実際、max-device-widthを使用する場合、これはOperaでのみ機能しますが、代わりにmax-widthはあらゆる種類のモバイルブラウザ(Chrome、firefox、Androidのoperaでテストしました)。
クロスプラットフォームアプリを作成している場合(たとえば、phonegap/cordovaを使用)、
Device-widthまたはdevice-heightを使用しないでください。 Androidデバイスはdevice-widthまたはdevice-heightで問題を引き起こすため、CSSメディアクエリで幅または高さを使用してください。 iOSの場合、正常に動作します。 Androidデバイスのみがdevice-width/device-heightをサポートしていません。
Device-width/heightを使用しないでください。
device-width、device-height、およびdevice-aspect-ratioは、メディアクエリレベル4で非推奨になりました https://developer.mozilla.org/en-US/docs/Web/CSS/@media#Media_features
幅と高さ(最小/最大なし)を方向と(最小/最大)解像度と組み合わせて使用して、特定のデバイスをターゲットにするだけです。モバイルの幅/高さは、デバイスの幅/高さと同じにする必要があります。
max-widthは、ターゲット表示領域の幅です。ブラウザ; max-device-widthは、デバイスのレンダリング領域全体の幅、つまり実際のデバイス画面です。
•max-device-widthを使用している場合、デスクトップのブラウザーウィンドウのサイズを変更しても、CSSスタイルは異なるメディアクエリ設定に変更されません。
•max-widthを使用している場合、デスクトップ上のブラウザのサイズを変更すると、CSSは異なるメディアクエリ設定に変更され、モバイル向けのスタイリングで表示される場合があります。タッチフレンドリーなメニューとして。