ホームページ > ウェブフロントエンド > CSSチュートリアル > 子セレクターがテーブルのセルのスタイルを設定できないのはなぜですか?

子セレクターがテーブルのセルのスタイルを設定できないのはなぜですか?

Barbara Streisand
リリース: 2024-12-08 19:24:10
オリジナル
599 人が閲覧しました

Why Does My Child Selector Fail to Style Table Cells?

テーブル構造における子セレクターと子孫セレクター

HTML ドキュメントで要素を選択するとき、開発者は多くの場合、子セレクター (>) を使用して直接の子および子孫セレクターをターゲットにして、ネストされた要素をターゲットにします。ただし、子セレクターが予期せず失敗すると思われるシナリオもあります。

次の例を考えてみましょう。

table tr td {
  background-color: red;
}

table > tr > td {
  background-color: blue;
}
ログイン後にコピー

最初のルールは、すべての を正常に選択します。 内の要素

内の要素要素。ただし、子セレクター (>) を使用する 2 番目のルールでは、 を挿入します。含める要素 要素。その結果、実際の要素構造は次のようになります。この変更された構造では、はもはや
のスタイルを設定できません。

この動作に困惑した開発者は、

以来、次のように考えているかもしれません。

<table>
  <tbody>
    <tr>
      <td></td>
    </tr>
  </tbody>
</table>
ログイン後にコピー

table > tbody > tr > td {
  background-color: blue;
}
ログイン後にコピー

HTMLの要素。デフォルトでは、ブラウザは
の直接の子ではなく、むしろ の子であり、それ自体が
の子です。したがって、>セレクターは の直接の子ではないためです。この問題を解決するには、開発者は tbody 要素を明示的に選択する必要があります。これにより、子セレクターが正しいオブジェクトをターゲットにすることが保証されます。変更された構造内の要素。さらに、tbody 要素が HTML ドキュメントに明示的に追加されている場合、同じセレクターを使用できます。

以上が子セレクターがテーブルのセルのスタイルを設定できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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