ホームページ >ウェブフロントエンド >htmlチュートリアル >CSS3基礎学習 selector_html/css_WEB-ITnose
CSS3 では、セレクターを使用してスタイルを要素に直接バインドすることが推奨されています。
Web 開発プロセスでは、さまざまな要素に適用する多くのクラスを定義する必要があります。クラス自体にはセマンティクスがなく、再利用できるため、クラスを過度に使用すると、スタイル シート構造全体が非常に混乱します。クラスの使用頻度を減らすためには、要素をできるだけセレクターで指定する必要があります。さらに、セレクターを使用して多くのルールを定義することもできるため、クラスを繰り返し定義するコードの量も削減できます。
CSS3 には、主に次のセレクターがあります: 属性セレクター、構造セレクター、UI 状態セレクター、ユニバーサル兄弟要素セレクター。それぞれを紹介しましょう:
(1) 属性セレクター
名前が示すように、属性セレクターはさまざまな属性に基づいてターゲットを選択します。通常、属性セレクターをワイルドカードと組み合わせて使用します。式は次のとおりです: [attr=val] {style content}。一般的に使用される 3 つのワイルドカード文字があります:
1) [ attr*=val ] 'attr' 属性に val 文字列を含むすべての要素を返します。たとえば、[id*=section] では #section1 と #subsection を選択できますが、section-tion は選択できません。
2) [ attr^=val ] 'attr' 属性が val 文字列で始まるすべての要素を返します。たとえば、[id*=section] は #section1 を選択できますが、#subsection は選択できません。
3) [ attr$=val ] 'attr' 属性が val 文字列で終わるすべての要素を返します。たとえば、[id*=section] では #subsection を選択できますが、#section1 は選択できません。
属性セレクターのルールは単純ですが、適切に使用するとコードを大幅に簡素化できます。
(2) 構造セレクター
CSS では、カスタム クラス セレクターに加えて、a 要素の a:link、a:visited など、CSS によって定義されたセレクターもあります。 hover、a:active これらのステータス疑似クラス。クラスと組み合わせて使用できます。式: セレクター クラス名: 疑似クラス/疑似要素 {スタイル コンテンツ}。 CSS の構造セレクターは次のとおりです (http://www.w3school.com.cn/ から引用):
first-line | p:first-line | 各 e388a4556c0f65e1904146cc1a846bee 要素の最初の行を選択します。 | 1 |
:first-letter | p:first-letter | 各 e388a4556c0f65e1904146cc1a846bee 要素の最初の文字を選択します。 | 1 |
:before | p:before | 各 e388a4556c0f65e1904146cc1a846bee 要素のコンテンツの前にコンテンツを挿入します。 | 2 |
:after | p:after | 各 e388a4556c0f65e1904146cc1a846bee 要素のコンテンツの後にコンテンツを挿入します。 | 2 |
:root | :root | ドキュメントのルート要素を選択します。 | 3 |
:empty | p:empty | 子要素を持たないすべての e388a4556c0f65e1904146cc1a846bee 要素 (テキスト ノードを含む) を選択します。 | 3 |
:target | #news:target | 現在アクティブな #news 要素を選択します。 | 3 |
:not(selector) | :not(p) | e388a4556c0f65e1904146cc1a846bee 要素ではないすべての要素を選択します。 | 3 |
:first-child | p:first-child | 親要素の最初の子であるすべての e388a4556c0f65e1904146cc1a846bee 要素を選択します。 | 2 |
p:last-child | 親要素に属する最後の子要素である各 e388a4556c0f65e1904146cc1a846bee 要素を選択します。 | 3 | |
p:only-child | 親要素の唯一の子要素である各 e388a4556c0f65e1904146cc1a846bee 要素を選択します。 | 3 | |
p:nth-child(2) | 親要素の 2 番目の子であるすべての e388a4556c0f65e1904146cc1a846bee 要素を選択します。 | 3 | |
p:nth-last-child(2) | 最後の子要素から数えて上記と同じ。 | 3 | |
p:first-of-type | 親の最初の e388a4556c0f65e1904146cc1a846bee 要素である各 e388a4556c0f65e1904146cc1a846bee 要素を選択します。3 | :last-of-type | |
3 | :only-of-type | p:only-of-type | 親の唯一の e388a4556c0f65e1904146cc1a846bee 要素であるすべての e388a4556c0f65e1904146cc1a846bee 要素を選択します。|
:nth-of-type(n) | p:nth-of-type(2) | 親の 2 番目の e388a4556c0f65e1904146cc1a846bee 要素に属するすべての e388a4556c0f65e1904146cc1a846bee を選択します。要素。 | |
:nth-last-of-type(n) | p:nth-last-of-type(2) | 上記と同じですが、最後の子要素から数え始めます。 | |