37

私はメディアクエリの世界に非常に慣れていません。幅とデバイス幅の違いについて、明らかなターゲティング能力以外に、根本的な何かが欠けていることは明らかです。

通常のコンピューターと同じブレークポイントを持つデバイスの両方をターゲットにしたいので、すべての最小および最大幅のクエリを最小デバイスおよび最大デバイス幅のクエリに複製しました。何らかの理由で、対応する-deviceを追加すると、CSSは通常のコンピューターでは非常に異なって解釈され、何が間違っているのかわかりません。

あなたはここで効果を見ることができます(これはそれがどのように見えるべきかです)

そしてここで(クエリに-device-widthを追加した後、CSSは最小の幅で台無しになります-ブラウザーの幅が呼び出されているものよりも小さい場合でも、より大きな解像度が表示されます)。

これが私のCSSリンクです-私の構文に何か問題がありますか?:

<link rel="stylesheet" media="only screen and (max-width: 674px), only screen and (max-device-width: 674px)" href="300.css">
<link rel="stylesheet" media="only screen and (min-width: 675px) and (max-width: 914px), only screen and (min-device-width: 675px) and (max-device-width: 914px)" href="650.css">
<link rel="stylesheet" media="only screen and (min-width: 915px) and (max-width: 1019px), only screen and (min-device-width: 915px) and (max-device-width: 1019px)" href="915.css">


<link rel="stylesheet" media="only screen and (min-width: 1020px), only screen and (min-device-width: 1020px)" href="1020.css">
<link rel="stylesheet" media="only screen and (min-width: 1200px) and (max-width: 1299px), only screen and (min-device-width: 1200px) and (max-device-width: 1299px)" href="1200.css">
<link rel="stylesheet" media="only screen and (min-width: 1300px), only screen and (min-device-width: 1300px)" href="1300.css">
4

2 に答える 2

93

デバイス幅はディスプレイの解像度(1024x768から1024など)を指し、幅はブラウザー自体の幅を指します(ブラウザーが最大化されていない場合の解像度とは異なります)。解像度が1つのブレークポイントに到達するのに十分な大きさであるが、ブラウザの幅が別のブレークポイントに到達するのに十分小さい場合、両方の奇妙な組み合わせになってしまいます。

ビューポートのサイズではなく解像度に基づいてスタイルシートを制限する正当な理由がない限り、/を使用し、/min-widthmax-width避けてください。min-device-widthmax-device-width

于 2013-03-07T16:34:19.627 に答える
7

device-widthメディアクエリレベル4では非推奨です。詳細については、こちらのMDNドキュメントを参照してください。

非推奨:この機能は推奨されなくなりました。一部のブラウザは引き続きサポートしている場合がありますが、関連するWeb標準からすでに削除されているか、削除中の場合、または互換性の目的でのみ保持されている場合があります。使用を避け、可能であれば既存のコードを更新してください。この機能はいつでも機能しなくなる可能性があることに注意してください。

したがって、ビューポートの幅と高さをそれぞれ考慮するためにwidth、フィーチャを使用する必要があります。height

min-PSこれらは、接頭辞を付けるかmax-、「最小条件」または「最大条件」の制約を表すことができる範囲機能です。ここを参照してください。

于 2020-11-09T19:09:06.473 に答える