CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があります。 まず、CSS について簡単に説明します。CSS は Cascading Style Sheets の略です。その仕様は、インターネットの歴史におけるユニークな開発段階を表しています。現在、Web ページ制作に携わっている方であれば、Web ページの作成過程で CSS を使用する必要があることが多いため、CSS について聞いたことがない人はほとんどいないはずです。 2 つ目: CSS を使用して、ドキュメントの外観をリッチかつ簡単に変更できるように設定し、Web ページ作成者の作業負荷を軽減することで、制作コストとその後のメンテナンス コストを削減できます。 実際のところ、CSS とは何か、その機能とは何かを今さら語るのは全く冗長です。Web ページ制作に携わっている友人なら、すでにある程度は CSS に触れていると思います。 さて、今日の話題に戻りましょう。 1. CSS の優先度とは何ですか? いわゆる CSS 優先度は、ブラウザで CSS スタイルが解析される順序を指します。 2. CSSの優先順位ルール スタイルには優先順位があるため、優先順位を決定するルールがあり、この「ルール」がこの記事の焦点となります。 スタイル シートの詳細度は、さまざまなルールの相対的な重みを表します。基本的なルールは次のとおりです。
最後に、スペースやカンマを入れずに 3 つの数字を正しい順序で入力して、3 桁の数字を作成します (CSS 2.1 では 4 桁を使用します)。 (数字を 3 桁で終わる大きな数字に変換する必要があることに注意してください)。セレクターに対応する番号の最終的なリストにより、どの番号が大きい機能が低い番号の機能をオーバーライドするかを簡単に判断できます。 例えば:
3. 特徴分類のためのセレクタリスト 以下は、特性別に分類されたセレクターのリストです。
上の表だけ見ると、理解しにくいようです。別の表を以下に示します。
上記から、HTML タグの重みは 1、CLASS の重みは 10、ID の重みは 100、継承の重みは 0 (後述) であることが簡単にわかります。 これらの規則に従って、数値文字列を少しずつ追加して最終的な重みを取得し、比較を行うときに左から右に少しずつ比較します。 優先度の問題は、実際には競合解決の問題です。CSS セレクターによって同じ要素 (コンテンツ) が選択された場合、優先度に応じて異なる CSS ルールを選択する必要があります。実際には多くの問題が関係しています。 ここで、CSS の継承について説明しなければなりません。 複数の CSS スタイル ファイルが Web ページに読み込まれますが、そのうちの 1 つは Ext ライブラリに付属するスタイル ファイルであり、すべてのタグの一部のスタイルを定義しているため、元の Web ページが正しく表示されません。対応するスタイルを見つけることで、正しいスタイルがリセットされます。 body タグに新しいスタイルを追加しますが、2 つのスタイルが表示され、Ext スタイルは引き続き有効です。最後に、新しいスタイルを設定するときに * を追加しなかったため、body タグにのみ有効になり、サブタグには有効にならないことがわかりました。以下は修正されたスタイルです コードをコピー コードは次のとおりです。.diy、 .diy *{ ボックスのサイズ: コンテンツボックス; -moz-box-sizing: コンテンツボックス; -webkit-box-sizing: コンテンツボックス; } タグに複数のスタイルが定義されていて、スタイル間に競合がある場合、優先順位は「ID に定義されたスタイル」>「クラスに定義されたスタイル」>「タグ タイプに定義されたスタイル」になります。例えば、次のスタイル コードをコピー コードは次のとおりです。div{ 境界線:2px 実線 #0000FF; } .パワーヘッダー{ 境界線:2px 実線 #00ff00; } #ナビゲーション{ 境界線:2px 実線 #ff0000; } <div id="navigation" class="powerHeader"> タグでは、まず #navigation が適用され、#navigation が存在しない場合は .powerHeader スタイルが適用され、最後に div スタイルが適用されます。 同時に、単一のリンクまたはスタイルを使用して複数のタグ クラスを定義することで競合が発生した場合は、最後に定義されたクラスが適用されます。 CSS スタイルの優先順位を理解することで、Web ページの開発における多くのスタイル競合の問題を回避できます。 |
<<: node.js で PC 上の WeChat アプレット パッケージを復号化するための処理アイデア
>>: HTMLページが3秒後に自動的にジャンプする3つの一般的な方法
Docker コンテナのネットワーク障害に対する 6 つの解決策注: 以下の方法は、コンテナ内のパブ...
HTML と CSS で、ボタンの色を設定したいとします。 目的の効果は得られますが、プロセスはかな...
序文MySQL に関する私の理解に基づくと、パフォーマンスの最適化作業やマスター スレーブ レプリケ...
目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...
目次背景制限の最適化最適化方法1. カバーインデックスを使用する2. サブクエリの最適化3. 遅延連...
ページ: ベース: <テンプレート> <div class="タブコンテ...
最近、Grover の Web サイトで楽しいホバー アニメーションを見つけ、自分自身のインスピレー...
この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...
目次共通バージョンの紹介共通バージョンのダウンロードアドレスとインストール以下に簡単な違いを示します...
dockerfile またはコンテナ内で yum を実行すると、エラーが報告され、ソースが見つかりま...
この記事では、トランザクション、インデックス、ロックなどの MySQL の知識ポイントの原理と使用法...
目次1. はじめに2. シンプルなepollの例2.1、epoll_create 2.2、構造体イベ...
目次ルーティングプラグインをモジュール方式で使用するルートの使用宣言型ナビゲーションプログラムによる...
1.Mysql接続方法MySQL 通信プロトコルを理解するには、まず MySQL サーバーへの接続に...
MySQL データベースでは、テーブルが互いに関連付けられた後は、それらを任意に削除することはできま...