モバイルファーストのアプローチでサイトを構築しており、3 つの異なるデザインがあります。
モバイル: 幅 767px まで (赤)
タブレット: 768px から 979px まで (青)
デスクトップ:980px~(緑)
.
縦向きと横向きの両方の iPad は、タブレット デザインとして動作する必要があります。(青い)
そして、私はこのメディアクエリを持っています:
body{
background-color: red;
}
@media (min-width: 768px),
only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
body {
background-color: blue;
}
}
@media (min-width: 980px) {
body {
background-color: green;
}
}
問題は、iPad がデスクトップ デザイン (緑) になることです。これは、メディア クエリの順序が影響し、後でコード化されるため、青、次に緑を取得するためです。
タブレットの最大幅を追加し、メディアクエリを並べ替えて、デスクトップが最初に表示され、次にタブレットが表示されるという解決策を見つけました。
body{
background-color: red;
}
@media (min-width: 980px) {
body {
background-color: green;
}
}
@media (min-width: 768px) and (max-width: 979px),
only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
body {
background-color: blue;
}
}
でも、できればモバイル、タブレット、デスクトップの順番を守っていきたいです。主に私はSassを使っていて、入れ子にすると注文しやすくなるので、
なにか提案を?