CSSのマッチング問題を解決する

CSSのマッチング問題を解決する

問題の説明

ご存知のとおり、CSS を記述する場合、HTML のクラスの定義または ID の定義に従って、対応する CSS コードが記述されます。クラスごとに異なるスタイルを定義します。もちろん、コードを少なくするために、CSS で一致するものを参照することになります。マッチングには、ファジー マッチングとグローバル マッチングの 2 種類があります。マッチング方法はいくつかあります。もちろん、HTML で異なるクラス名を記述したり、同じクラス名を記述して、すべてのスタイルの一致を実現することもできます。しかし、クラス名を同じように記述できない場合があり、その結果、コードが冗長になり、コードの複雑さが増すことになります。コードの冗長性を減らすために、クラス マッチングが登場します。

解決

最初の方法は、マッチングに div を使用することですが、このマッチングではすべての div に同じスタイルが使用されます。

<div>
<div id='div1'/>
<div id='div2'/>    
</div>
// 内部のすべてのdivのスタイルを設定する場合は、>識別子を使用します。parent>div{
//スタイル//
}

2 番目の方法は、class によって定義されたクラスを一致させることです。この種類のマッチングは比較的正確であり、マッチング方法も 2 つあります。最初のマッチング方法は、矢印記号を使用してマッチングすることです。例: [class^="icon-"]

<!DOCTYPE html>
<html>
<ヘッド>
<メタ文字セット="UTF-8">
<title>タイトル</title>
<スタイル>
[クラス^="アイコン-"]{
幅: 100ピクセル;
高さ: 50px;
背景色: 赤;
}
</スタイル>
</head>
<本文>
<div>1111</div>
<div>2222</div>
<div>3333</div>
<div>4444</div>
<div>5555</div>
</本文>
</html> 

図2.1 効果

ただし、この一致方法では、クラス名の前に icon- を付ける必要があります。クラス名の前に他の名前がある場合、対応する効果は得られません。したがって、別のマッチング方法を使用することもできます。つまり、クラス名のグローバルマッチングです。例えば:

[class*=" icon-"] 、アイコンの前にスペースがあることに注意してください。また、対応するクラス名のグローバル マッチングが実現できるように、上記の矢印をアスタリスクに置き換える必要があります。

<!DOCTYPE html>

<html>

<ヘッド>

<メタ文字セット="UTF-8">

<title>タイトル</title>

<スタイル>

[class*="icon-"]{

幅: 100ピクセル;

高さ: 50px;

背景色: 赤;

}

</スタイル>

</head>

<本文>

<div>1111</div>

<div>2222</div>

<div>3333</div>

<div>4444</div>

<div class="text-success icon-t">555</div>

</本文>

</html> 

図2.2 効果

この方法では、クラス名に Icon が含まれていれば、スタイルを一致させることができます。ただし、この種類のマッチングでは、icon で始まるクラス名に対しては対応する効果が得られないため、2 つを一緒に使用できます。このようにして、マッチング効果を十分に達成することができます。

図2.3 効果

上記の効果を実現するには 2 つの方法があります。 1 つ目は 2 つを一緒に使用すること、2 つ目はアイコンの前のスペースを空けることです。

<!DOCTYPE html>

<html>

<ヘッド>

<メタ文字セット="UTF-8">

<title>タイトル</title>

<スタイル>

[class^="icon-"],[class*="icon-"]{

幅: 100ピクセル;

高さ: 50px;

背景色: 赤;

}

</スタイル>

</head>

<本文>

<div>1111</div>

<div>2222</div>

<div>3333</div>

<div>4444</div>

<div class="text-success icon-test">555</div>

</本文>

</html>

これにより、コードの冗長性が削減されます。

コードを書く過程では、プログラムがより良く実行されるようにコードの冗長性を減らすことを学ぶ必要があります。

CSS のマッチング問題についてはこれで終わりです。CSS マッチングに関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Linux スワップ パーティション (詳細説明)

>>:  FlashFXP FTP クライアント ソフトウェア登録クラッキング方法

推薦する

ブラウザをJavaScriptで対話させる方法

目次1. 最も単純な例2. 音声の速度とピッチをカスタマイズする3. 音量の調整方法4. よく使われ...

カルーセル効果を実現するための純粋なjs

この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...

JavaScript で知らない Object.entries の使い方

目次序文1. 共通オブジェクトを反復処理するには for...of を使用します2. 通常のオブジェ...

指定フィールドによるMySQLカスタムリストのソートの実装

問題の説明ご存知のとおり、MySQL でフィールドを昇順に並べ替える SQL は次のとおりです (i...

Vueのイベント処理とイベント修飾子の詳細な説明

<div id="ルート"> <h2>頑張れ、{{na...

CSS3 rgb と rgba (透明色) の使い方の詳しい説明

誰もが色にとても敏感だと思います。私たちの目が見るところにはどこにでも色があります。では、CSS で...

Javascriptでシングルトンパターンを実装する方法

目次概要コードの実装シングルトンパターンの簡易版改良版プロキシバージョンシングルトンモード遅延シング...

IE6 での背景画像キャッシュ

IE6 での CSS 背景画像のちらつきバグ (IE6 の背景画像キャッシュの問題) IE6 は、背...

JDKネイティブスレッドプールのバグを修正するTomcatの実装原理

処理能力と同時実行性を向上させるために、Web コンテナは通常、リクエストを処理するタスクをスレッド...

XHTML+CSS Web ページ作成における美しいスタイルシートの適用

これはかなり前に書かれた記事です。今となっては、その中の考え方は学ぶ価値があるように思えます。jb5...

Dockerコンテナを終了した後も実行を継続する方法

現象:イメージを実行します (例: ubuntu14.04)。 docker run -it --r...

OEL7.6 ソースコードから MYSQL5.7 をインストールするチュートリアル

まず、公式サイト https://dev.mysql.com/downloads/mysql/5.7...

MySQL タイムスタンプ比較クエリで遭遇する落とし穴と解決策

目次タイムスタンプ比較クエリで遭遇する落とし穴タイムスタンプクエリ範囲の問題タイムスタンプ比較クエリ...

JavaScript におけるブラウザ互換性の問題について簡単に説明します

ブラウザの互換性は、実際の開発では見落とされがちな最も重要な部分です。古いバージョンのブラウザの互換...

MySql のクラッシュとサービスの起動失敗の解決策

私は長い間PHPに触れてきましたが、インストール環境は非常に不慣れです。多くの問題に遭遇しました。B...