CSS3 @mediaの基本的な使い方のまとめ

CSS3 @mediaの基本的な使い方のまとめ
//文法:
@media mediatype and | not | only (メディア機能) { css-code; }
//メディアごとに異なるスタイルシートを使用することもできます: 
<link rel="stylesheet" media="mediatype and|not|only (メディア機能)" href="mystylesheet.css">

1. まず<meta>タグ

<meta name="viewport" content="width=デバイス幅、初期スケール=1.0、最大スケール=1.0、ユーザースケーラブル=いいえ">

このコードのいくつかのパラメータについて説明します。

  • 幅 = デバイス幅: 幅は現在のデバイスの幅に等しい
  • initial-scale: 初期スケール(デフォルト設定は 1.0)
  • minimum-scale: ユーザーがズームできる最小スケール(デフォルト設定は 1.0)
  • 最大スケール: ユーザーがズームできる最大スケール (デフォルト設定は 1.0)
  • user-scalable: ユーザーが手動でズームインおよびズームアウトできるかどうか (ユーザーがページをズームインおよびズームアウトできないようにするため、デフォルト設定は「いいえ」です)

2. <head> タグで導入 (CSS2 メディア)

実際、メディアの使用をサポートしているのは CSS3 だけではありません。CSS2 はすでにメディアをサポートしています。具体的な使用方法は、HTML ページの head タグに次のコードを挿入することです。

たとえば、現在のモバイル デバイスに縦型ディスプレイがあるかどうかを知りたい場合は、次のように記述できます。

<link rel="stylesheet" type="text/css" media="screen and (orientation:portrait)" ;href="style.css">

ページ幅が 960 未満の場合、指定されたスタイル ファイルが実行されます。

<link rel="stylesheet" type="text/css" media="screen and (max-width:960px)" href="style.css">

CSS2 は CSS のこの効果を実現できるので、なぜこの方法を使用しないのですか? と疑問に思う人も多いかもしれませんが、上記の方法の最大の欠点は、ページに対する http リクエストの数が増え、ページの負荷が大きくなることです。 CSS3 を使用してすべてのスタイルを 1 つのファイルに記述するのが最善の方法です。

競合は次のように発生します。

<link rel="stylesheet" href="styleA.css" media="screen and (min-width: 800px)">  
<link rel="stylesheet" href="styleB.css" media="screen and (min-width: 600px) and (max-width: 800px)">  
<link rel="stylesheet" href="styleC.css" media="screen and (max-width: 600px)">

上記は、デバイスを3つのタイプに分類します。幅が800pxより大きい場合はstyleAが適用され、幅が600px〜800pxの場合はstyleBが適用され、幅が600px未満の場合はstyleCが適用されます。では、幅がちょうど 800 ピクセルの場合、どのようなスタイルを適用すればよいでしょうか?最初の 2 つの式は両方とも true であり、CSS のデフォルトの優先ルールに従って後者が前者を上書きするため、styleB になります。

したがって、競合を避けるために、この例は通常次のように記述する必要があります。

<link rel="スタイルシート" href="styleA.css" media="screen">  
<link rel="stylesheet" href="styleB.css" media="screen and (max-width: 800px)">  
<link rel="stylesheet" href="styleC.css" media="screen and (max-width: 600px)">

3. CSS3 @mediaに戻る

上記では、CSS2 メディア クエリの使用について簡単に説明しました。次に、CSS3 メディア クエリに戻りましょう。最初のコードでは、960 ピクセル未満のサイズ用の書き込み方法を使用しました。次に、960 ピクセルに等しいコードを実装します。次のコードをスタイル タグまたは CSS ファイルに記述する必要があります。

@media スクリーンと (max-device-width:960px) {
    本文{背景:赤;}
}

次に、ブラウザのサイズが 960 ピクセルより大きい場合のコードを示します。

@media スクリーンと (min-width:960px) { 
    本文{背景:オレンジ;}
}

上記の用法を組み合わせることもできます。

@media スクリーンと (最小幅:960px) と (最大幅:1200px) {
    本文{背景:黄色;}
}

上記のコードは、ページの幅が 960px より大きく 1200px 未満の場合に次の CSS が実行されることを意味します。

4. すべてのメディアパラメータの概要

上記は、メディアクエリで最も頻繁に使用する必要がある 3 つの機能、「より大きい」、「等しい」、「より小さい」です。メディア クエリ ツールの完全な機能は、間違いなくこれら 3 つの機能だけではありません。以下に、そのパラメータの使用法の概要を示します。

  • width: ブラウザの表示幅。
  • height: ブラウザに表示される高さ。
  • device-width: デバイス画面の幅。
  • device-height: デバイス画面の高さ。
  • orientation: デバイスが現在横向きか縦向きかを検出します。
  • アスペクト比: ブラウザの表示幅と高さの比率を検出します。 (例: アスペクト比:16/9)
  • device-aspect-ratio: デバイスの幅と高さの比率を検出します。
  • color: 色を検出するビット数。 (例えば、min-color:32 はデバイスが 32 ビットカラーを持っているかどうかを検出します)
  • color-index: デバイスのカラー インデックス テーブル内の色をチェックします。その値は負にできません。
  • モノクロ: モノクロ フレーム バッファー内のピクセルあたりのビット数をチェックします。 (これは高度すぎるので、めったに使用されないと思います)
  • 解像度: 画面またはプリンターの解像度を検出します。 (例: min-resolution:300dpi または min-resolution:118dpcm)。
  • grid: 出力デバイスがグリッドデバイスかビットマップデバイスかを検出します。
(最大幅:599ピクセル) 
(最小幅:600ピクセル) 
(orientation:portrait) 縦画面 (orientation:landscape) 横画面 (-webkit-min-device-pixel-ratio: 2) ピクセル比

5. メディアタイプ

1.すべてのメディア

2. 点字触覚装置

3. エンボス点字プリンター

4.ハンドヘルドデバイスで印刷

5.投影印刷プレビュー

6.スクリーンカラースクリーン装置

7.音声「聴覚」類似メディアタイプ

8.ttyはピクセルデバイスには適していません

9. テレビ

6. キーワード

1.そして

2.not not キーワードは、特定の種類のメディアを除外するために使用されます。

3. 特定のメディアタイプを定義するためにのみ使用される

- メディア機能をサポートしていないがメディアタイプをサポートしているデバイスでよく使用されます

7. ブラウザのサポート

IE8-

IE9以上

Chrome 5以上

オペラ10+

Firefox 3.6以降<

サファリ4+

8. よく使われる画面幅の設定:

@media スクリーンと (最小幅: 1200px) {
        CSSコード;
}
@media screen かつ (最小幅: 960px) かつ (最大幅: 1199px) {
        CSSコード;
}
@media screen および (最小幅: 768px) および (最大幅: 959px) {
        CSSコード;
}
@media screen および (最小幅: 480px) および (最大幅: 767px) {
        CSSコード;
}
@media スクリーンと (最大幅: 479px) {
        CSSコード;
}

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

<<:  IE6では画像要素imgに余分な空白スペースがある

>>:  アイデアを通じてプロジェクトをDockerにパッケージ化する方法

推薦する

HTML 5のドラフトは正式な標準にはならなかった

<br />昨日、W3C で新しいHTML 5 ドラフト (ワーキング ドラフト) が ...

CentOS7 で MySQL のスケジュールされた自動バックアップを実装する方法

実稼働環境で起こる最も嬉しいことは、シナリオによっては、更新または削除時にパラメータを無視せざるを得...

MySQL の int、char、varchar のパフォーマンスを比較する

インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありませ...

HTML チュートリアル: よく使われる HTML タグのコレクション (4)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

Ansibleを使用してディレクトリ内のすべてのコンテンツを削除する方法

Ansible を使用する学生は、以下に示すように、Ansible が特定のフォルダーまたはファイル...

CentOS6.8 は cmake を使用して MySQL5.7.18 をインストールします。

オンライン情報を参考に、cmakeを使用してCentOS6.8サーバーにMySQL5.7.18をイン...

Linux 環境で crontab コマンドを使用して、スケジュールされた定期的な実行タスクを設定します (PHP 実行コードを含む)

この記事では、Linux 環境で crontab コマンドを使用して、タスクの定期的な実行をスケジュ...

MySQL グローバルロックとテーブルレベルロックの具体的な使用法

目次序文グローバルロックテーブルロックテーブルロックメタデータ ロック (MDL ロック)要約する参...

Vue のプロダクション環境と開発環境を切り替えてフィルターを使用する方法

目次1. 本番環境と開発環境を切り替える最初の方法: .envファイルを設定する2番目の方法2. フ...

Linux仮想マシンを作成し、仮想マシンネットワークを設定する方法に関するVMwareの詳細なチュートリアル

VMware で Linux 仮想マシンを作成し、VMware と仮想マシンのネットワークを設定する...

Vue での ref の使用法とデモンストレーション

ref 定義:要素またはサブコンポーネントの参照情報を登録するために使用されます。参照情報は、親コン...

Nginx の Docker インストールの問題とエラー分析

質問: DockerにNginxをインストールするときに次のエラーが発生しました: docker: ...

ウェブページ上でデスクトップ exe プログラムを呼び出す簡単な方法

この記事では主に、Web ページ上でデスクトップ exe プログラムを呼び出す方法を紹介します。 W...

iframe を使用して Web ページに天気の影響を表示します

CS: ...コードをコピーコードは次のとおりです。 *{マージン:0;パディング:0;リストスタイ...

jQueryはシャトルボックス効果を実現します

この記事では、シャトルボックス効果を実現するためのjQueryの具体的なコードを参考までに紹介します...