目次:
- メディアタイプを指定する
- ブラウザが500ピクセルより広い場合は、白い背景に黒い文字が表示されます。しかし、画面を狭くすると、面白いことが分かります。
- ページが500ピクセルより狭い場合、黒色の背景に白いテキストを与える色が逆になります。
ビデオ: #01 jQuery UI入門 2024
HTML5およびCSS3 Web開発者はAJAXを使用して応答性の高いモバイルサイトを作成できます。複数の解像度でサイトをうまく動作させる1つの方法は、検出されたメディアタイプに基づいて異なるCSSルールを提供することです。
CSS3には、 メディアクエリ と呼ばれる素晴らしい新機能があり、メディアタイプを指定してディスプレイのさまざまな機能を判断できます。この仕様を使用して、ブラウザが特定のタイプまたはサイズのディスプレイを検出したときに使用されるCSSのサブセットを構築することができます。
<! - 1 - >メディアタイプを指定する
@mediaルールでは、含まれるCSSの出力タイプを指定できます。最も一般的なメディアタイプは、スクリーン、プリント、スピーチ、ハンドヘルド、プロジェクション、テレビです。さらに多くの機能がありますが、プリントと画面のみが全面的にサポートされています。
@media print {body {font-size:10pt;}}
このCSSは、通常のCSSに埋め込むことができます通常は文書の最後に置く必要があります。これは、通常の規則に対する例外を保持するためです。 @media要素の中にあなたが望むだけ多くのCSSコードを置くことができますが、あなたが興味を持っている特定の状況に関連するCSSコードだけを置くべきです。
<! - @ - >
修飾子を追加する方法@ mediaルールは、メディアタイプを指定するだけでなく、もう一つの非常に強力なトリックを持っています。特別な条件をメディアに適用することができます。ブラウザが500ピクセルより広い場合は、白い背景に黒い文字が表示されます。しかし、画面を狭くすると、面白いことが分かります。
<! - 3 - >
通常、このトリックを使ってレイアウトを変更しますが、この単純な色変更の例から始めます。この単純な例のコードは次のとおりです:
narrowBlack。 html本文{color:black;背景色:白;} @media(最大幅:500px){body {color:white;}背景色:黒;}}修飾子のデモ
このページのサイズを変更してみてください。ページの幅が500ピクセルより大きい場合、白い背景に黒いテキストが表示されます。ページが500ピクセルより狭い場合、黒色の背景に白いテキストを与える色が逆になります。
画面の幅に合わせてページを作成する方法は次のとおりです。
いつものようにサイトを構築します。
これは、「レイアウトとは別のコンテンツ」というものが本当に報われる場所です。同じHTMLには2つの異なるスタイルがあります。
-
通常の方法でCSSスタイルを適用します。
標準的なスタイルを通常の方法で構築します。今のところ、タグでページにスタイルを埋め込みます。主なスタイルは、最も一般的なケースを処理する必要があります。 (通常は、フルサイズのデスクトップです。)
-
@mediaルールを作成します。
@media CSSルールは通常のCSSの最後に置かなければなりません。
-
max-width:500px修飾子を設定します。
この修飾子は、このセグメント内のルールは、画面の幅が500ピクセルよりも小さい場合にのみ使用されることを示します。
-
新しいスタイルセット内に特殊ケースルールを配置します。
@mediaルール内で定義したCSSルールは、修飾子がtrueの場合にアクティブになります。これらのルールを使用して、既存のCSSを上書きします。すべてを再定義する必要はありません。あなたの特定の状況に合ったルールを提供するだけです。
-
ビューポートを追加します。
モバイルブラウザは、ページを一度に見ることができるようにページのサイズを変更しようとすることがあります。これは特別なスタイルの目的を破るので、ブラウザが真の幅をレポートするように、ビューポートメタタグを使用します。もはや必要ではないので、ページスケーリングを無効にすると便利なことがよくあります。
-
この例では、ブラウザは常にメイン(白地に黒いテキスト)スタイルを適用します。次に、@ mediaルールを見て、修飾子が真であるかどうかを調べます。
幅が500ピクセル未満の場合、max-width:500px修飾子はtrueと評価され、@mediaセグメント内のすべてのCSSコードが有効になります。ブラウザは、CSSの両方のセットを保存し、ルールのステータスに基づいて正しいCSSを適用します。