ホームページ > ウェブフロントエンド > CSSチュートリアル > さまざまな子構造を持つ特定の要素に CSS スタイルを適用するにはどうすればよいですか?

さまざまな子構造を持つ特定の要素に CSS スタイルを適用するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-23 22:03:30
オリジナル
224 人が閲覧しました

How to Apply CSS Styles to Specific Elements with Varying Child Structures?

:nth-child を使用した複数の親全体のスタイル設定

問題:

CSS セレクターが複数の親にまたがる特定の要素に影響を与えることを確認するさまざまな子要素構造を持つ親は困難になる可能性があります。次の例を考えてみましょう:

<code class="html"><div class="foo">
    <ul>
        <li>one</li>
        <li>two</li>
    </ul>
    <ul>
        <li>three</li>
    </ul>
    <ul>
        <li>four</li>
    </ul>
</div></code>
ログイン後にコピー

目的は、「one」と「three」のリスト項目に特定のスタイルを適用することです。ただし、:nth-child(1) および :nth-child(3) セレクターを使用すると、各 ul 要素内の最初と 3 番目のリスト項目のスタイルが設定されます。

解決策:

残念ながら, CSS セレクターだけでは、このような親子構造の変化に対処できません。 :nth-child() セレクターと兄弟コンビネータは、同じ親内の要素の選択に制限されています。

代替アプローチ:

  • JavaScript: などのライブラリjQuery を使用すると、DOM 内のインデックスや位置に基づいて特定の要素をターゲットにすることができます。
  • 明示的マーキング: クラスまたは ID を目的の要素 (この場合は 1 と 3) に追加すると、 CSS セレクターを使用して正確なターゲティングを行うため。

たとえば、クラス「selected」を .foo 要素内の最初と 3 番目のリスト項目に追加します。

<code class="html"><div class="foo">
    <ul>
        <li class="selected">one</li>
        <li>two</li>
    </ul>
    <ul>
        <li class="selected">three</li>
    </ul>
    <ul>
        <li>four</li>
    </ul>
</div></code>
ログイン後にコピー

CSS:

<code class="css">.foo li.selected {
    color: red;
}</code>
ログイン後にコピー

以上がさまざまな子構造を持つ特定の要素に CSS スタイルを適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート