以下は、Adobe docsです。
メディアクエリ仕様では、古いブラウザからメディアクエリを隠すために意図されたキーワードonly
を提供します。 not
のように、キーワードは宣言の冒頭に来なければなりません。たとえば:
media="only screen and (min-width: 401px) and (max-width: 600px)"
ブラウザ認識しないメディアクエリはメディアタイプのカンマ区切りのリストを期待する、と仕様は、彼らがではありません最初の英数字以外の文字の直前に各値を切り捨てる必要があると言いますハイフン。
media="only"
としてだけではそのようなメディアタイプが存在しないので、スタイルシートは無視されていますので、古いブラウザはこのよう先の例を解釈する必要があります。同様に、古いブラウザはつまり
media="screen"
として
media="screen and (min-width: 401px) and (max-width: 600px)"
を解釈し、それがどのようなメディアクエリを知らなくても、すべてのスクリーンデバイスにスタイルルールを適用すべきである必要があります平均。
残念ながら、IE 6-8は仕様を正しく実装できませんでした。
すべてのスクリーンデバイスにスタイルを適用するのではなく、スタイルシートをすべて無視します。
この動作にもかかわらず、他の一般的でないブラウザからスタイルを非表示にする場合にのみ、メディアクエリのプレフィックスを付けることをお勧めします。
ので、
media="only screen and (min-width: 401px)"
と
media="screen and (min-width: 401px)"
を使用すると、IE6-8で同じ効果があります:両方が使用されているから、これらのスタイルを防ぐことができます。しかし、それらはまだダウンロードされます。
また、CSS3メディアクエリをサポートするブラウザでは、ビューポートの幅が401px
より大きく、メディアタイプがscreenの場合、両方のバージョンがスタイルをロードします。
私は
media="screen and (min-width: 401px)"
とは対照的に、CSS3メディアクエリをサポートしていないブラウザは、必ずそれがあると解釈されていないことを確認するためにonly
バージョン
media="only screen and (min-width: 401px)"
が必要と思われる完全にわからないんだけど
media="screen"
これは、広告にアクセスできる人にとっては良いテストですevice lab。
私はまだそれについてはっきりしていません。私は私の質問も更新しました。どんな例を挙げてもいいですか? –
モバイルファーストのアプローチを使用するとどうなりますか?したがって、まずはモバイルCSSを使用してから、min-widthを使用して大きなサイトをターゲットにします。その文脈で 'only'キーワードを使うべきではありませんか? – Ashitaka
この回答は分かりやすいものでした。 :)ちょうど唯一のIEや6やオペラ5や6などの古いバージョンは、AndroidやChrome 30またはIE 10のために提示する必要があるデータを読み込むから保つことです..優秀な回答sandeep :) +1 –