CSSは親要素の下の最初の子要素を選択します(:first-child)

CSSは親要素の下の最初の子要素を選択します(:first-child)

序文

最近、プロジェクトで :first-child を使用したのですが、すぐに思いつきました。これは最初の要素を選択するだけではないでしょうか?

非常に便利なようで、日常的な使用では特に問題に遭遇することはありません。当然、親要素の下の最初の要素のみが選択され、孫やひ孫の要素には影響がないと考えます。結局私は間違っていたことが判明しました。

E:first-child の最初の誤解 (指定した領域の 1 つだけが選択され、孫やひ孫の要素がいくつあるかは調べられません)

<!DOCTYPE html>
<html>
<ヘッド>
<スタイル>
本文 p:first-child
{
背景色:黄色;
}
</スタイル>
</head>
<本文>

<p>この段落は、親要素 (本文) の最初の子です。 </p>

<h1>私のホームページへようこそ</h1>
<p>この段落は親の最初の子ではありません。 </p>

<div>
<p>この段落は、親 (div) の最初の子です。 </p>
<p>この段落は親の最初の子ではありません。 </p>
</div>

<p><b>注意:</b> IE8 以前のブラウザの :first-child では、<!DOCTYPE> 宣言が必要です。 </p>

</本文>
</html>

上記のコードは本当に 1 つの p タグでのみ機能しますか?

これは、body p:first-child が最初の要素を選択すると考えるという、私たちが犯した最初のよくある誤解です。

実際、この p が選択した body 内の親要素の最初のものである限り、選択されます。

E:first-childの2番目の誤解(このE要素の前に何人の兄弟がいても、私が最初のE要素である限り、私は効果を発揮します)

上記のコードのままですが、body の p タグの前に font タグを追加したところ、p が無効であることがわかりました。
上記の 2 つの例は、このセレクターの使用方法を明確に示しています。

:first-child は、親要素の最初の子要素を選択するセレクターです。

指定した要素のサブ要素のみを選択するにはどうすればよいですか?孫やひ孫が何人いるかは言うまでもありません。

子セレクター(>):孫、ひ孫などを除いた、特定の要素の子(直接の子)である要素のみを選択できます。上記のコードを例として、>を追加して効果を試してください。

間違ったセレクターが使用されているにもかかわらず、エラーが報告されないことがあります。しかし、間違っていることは間違っている。発見される時が必ず来ます。
この間違いから何かを学べてよかったです。

親要素下の最初の子要素を選択する CSS (:first-child) に関するこの記事はこれで終わりです。親要素下の最初の子要素を選択する CSS に関するより関連性の高い記事については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Dockerイメージ作成の完全なプロセス

>>:  CSS 向け SASS スタイル プログラミング ガイド

推薦する

MySQL の NULL 値に関する体験談と分析チュートリアルシリーズ

目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...

要素UIテーブルはドロップダウンフィルタリング機能を実現します

この記事の例では、要素UIテーブルにドロップダウンフィルタリングを実装するための具体的なコードを参考...

H5ウェイクアップアプリの実装方法と注意点のまとめ

目次序文APPメソッドにジャンプURLスキームメタタグユニバーサルリンクさまざまな使い方URLスキー...

Sublime Text - ブラウザのショートカットキーを設定するための推奨方法

コード効果を異なるブラウザで表示することはよくあることなので、異なるショートカットキーを使用して対応...

MySQLビューの原理と使用法の詳細な説明

この記事では、例を使用して MySQL ビューの原理と使用方法を説明します。ご参考までに、詳細は以下...

Pagoda Panel のインストール時にサーバーがデータベースにリモート接続できない問題の解決策

自分のウェブサイトを構築する予定なので、618 プロモーションを利用して Tencent Cloud...

JavaScript タイマーの種類の概要

目次1.setInterval() 2.タイムアウトを設定する() 1.setInterval()指...

HTML における要素の水平および垂直中央揃えに関する議論

ページをデザインするときには、ログイン ウィンドウを中央に配置するなど、DIV を中央に配置し、ペー...

Linux で pyenv をインストールする方法

前提条件gitをインストールする必要があるインストール手順1. リモートリポジトリからpyenvをク...

MySQL kill コマンドの使用ガイド

KILL [接続 | クエリ] processlist_id MySQL では、各接続は個別のスレ...

OR キーワードを使用した MySql 複数条件クエリ ステートメント

前の記事では、And キーワードを使用した MySql の複数条件クエリ ステートメントを紹介しまし...

WeChatアプレットは水平および垂直スクロールを実現

この記事の例では、WeChatアプレットの水平スクロールと垂直スクロールを実現するための具体的なコー...

MySQL の重要なパフォーマンス インデックスの計算と最適化方法の概要

1 QPS 計算 (1 秒あたりのクエリ数) MyISAMエンジンベースのDBの場合 MySQL&g...

MySQL レプリケーション メカニズムの原理の説明

背景レプリケーションはデータの完全なコピーです。レプリケーションが必要な理由として、まず思い浮かぶの...

組み込みオブジェクトに関するJavascriptの基礎

目次1. 組み込みオブジェクトの紹介1.1 数学オブジェクト1.2 数学における方法1.3 日付オブ...