CSS子孫セレクター

php中世界最好的语言
リリース: 2018-03-20 15:22:02
オリジナル
3839 人が閲覧しました

今回は CSS 子孫セレクターについて説明します。 CSS 子孫セレクターを使用する際の 注意事項 について、実際の事例を見てみましょう。

子孫セレクターは、子や孫などを含むタグのすべての子孫を選択するために使用されますが、子孫セレクターは、指定された親の子孫タグ (指定されたタグ要素の最初の世代の子要素) のみを選択します。

子孫セレクターは、追加の記号 (山括弧 > ) を使用して 2 つの要素間の関係を示します。

例: body>h1 は、 タグ内の第 1 世代の

タグをすべて選択します。

HTMLタグの関係図

HTMLコード

<h1>body里面的h1标题</h1>
<p>
    <h2>p里面的h2</h2>
    <p>
        p里面的p标签,p标签里面有一个<strong><a href="#">加粗的链接</a></strong>
    </p>
</p>
<h2>body里面的h2标题</h2>
<ul>
    <li>列表1
        <ul>
            <li>小列表a</li>
            <li>小列表b</li>
            <li>小列表c</li>
        </ul>
    </li>
    <li>
        <a href="#">列表2(带链接)</a>
    </li>
    <li>
        <a href="#">列表3(带链接)</a>
    </li>
</ul>
ログイン後にコピー

上記の構造を理解した後、次のコードを試すことができます:

CSSコード

body>h2 {
    color: orange;
}
ログイン後にコピー

上記HTML内部このコードには、合計 2 つの

タグがありますが、 には

の子孫が 1 つだけあり、もう 1 つの

内にあるため、上記の CSS コードのみが機能します。

タグで。

以下は、より興味深い子セレクターです

: first-child

最初の子タグを選択します。

CSS コード

このセレクターの機能は、まず Web ページ内のすべての

タグを検索し、

タグを通じてその親要素を検索します。 ; タグが親要素内にあるかどうか。

ここでは、の最初のタグが

なので、の子要素

は影響を受けません。

の最初の子要素なので、

はオレンジ色になります。

:last-child

このセレクターは :first-child セレクターに似ていますが、要素の最後の子を選択します。

CSSコード

h2:first-child {
    color: orange;
}
ログイン後にコピー

「小さいリストC」と「リスト3(リンクあり)」のフォントサイズが大きくなっているのがわかります。これら 2 つの項目は最後に指定された項目であるためです。

:only-child

は、要素の唯一の子を選択します。

HTML コード

li:last-child {
    font-size: 2em;
}
ログイン後にコピー
CSS コード

<p>
    <p>第一个p的p</p>
</p>
<p>
    <p>第二个p的第一个p</p>
    <a href="#">第二个p的第一个a</a>
</p>
ログイン後にコピー

上記のスタイルは、最初の

要素にのみ適用されます。 2 番目の

には

要素だけでなく 要素も存在するため、2 番目の

要素は上記のスタイルの影響を受けません。

このセレクターは理解するのが難しいです。このセレクターによって定義されたスタイルは、指定されたタグが別のタグの唯一の子孫である場合にのみ有効です。つまり、指定したタグが子孫に 1 つだけ存在するだけでは不十分です。指定したタグに他の兄弟タグがある場合、このセレクターで定義されたスタイルは無効になります。

:nth-child

このセレクターは使用がより複雑ですが、特に便利でもあります。

このセレクターは、2 つの項目で区切られたテーブル内の行、2 つの項目離れたリスト内の項目、または他の番号で区切られた子要素のスタイルを簡単に定義できます。

このセレクターには、どの子孫が選択されるかを決定する値が必要です。

最も単純な値はキーワード、つまり奇数と偶数です。

  1. odd用于选取奇数子代元素。

  2. even用于选取偶数子代元素。

HTML代码

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
</ul>
ログイン後にコピー
ログイン後にコピー

CSS代码

li:nth-child(odd) {
    background: pink;
}
li:nth-child(even) {
    background: teal;
}
ログイン後にコピー

第一个子元素的下标是 1。

需要注意的是,如果在第一个

  • 之前还有其他元素,那第一个
  • 的下标就不是1了。
    比如

    HTML代码

    <ul>
        <a href="#">a</a>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
    </ul>
    ログイン後にコピー
    ログイン後にコピー

    这时的效果是

    li:nth-child(odd) 的意思是找到

  • 元素的父元素,通过父元素来检测每一个
  • 的下标的奇偶。

    因为

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