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 スタイル プログラミング ガイド

ブログ    

推薦する

条件付きコメント形式の書き方とサンプルコード

フロントエンドエンジニアとして、IE は私たちにとって馴染み深いものであるはずです。設計案を実装する...

テーブルを作成するための HTML dl、dt、dd タグとテーブル作成テーブル

ウェブサイトの開発とメンテナンスのコストが削減されるだけでなく、コードもよりセマンティックになります...

MySQL 一時テーブルの簡単な使用法

MySQL 一時テーブルは、一時的なデータを保存する必要がある場合に非常に便利です。一時テーブルは現...

Mysql 5.6.37 winx64 インストール デュアル バージョン mysql ノート

マシンに MySQL バージョン 5.0 がすでに存在する場合は、最新バージョンの MySQL のイ...

Bootstrap 3.0 学習ノート グリッドシステムの原則

前の 2 つの記事の簡単な紹介を通じて、Bootstrap についての基礎的な理解が得られました。 ...

Vue におけるキープアライブ マルチレベル ルーティング キャッシュの問題

目次1. 問題の説明2. 原因分析3. 解決策4. 処理1. 問題の説明調整センターでは、最後の 2...

MySQL 8.0 における非同期レプリケーションの 3 つの方法について簡単に説明します。

この実験では、空のデータベース、オフライン、オンラインの 3 つのモードで、1 つのマスターと 2 ...

ReactアプリケーションにおけるDOM DIFFアルゴリズムの詳細な説明

目次序文VirtualDOM とは何ですか? VirtualDOMを使用する理由DOMレンダリングペ...

MySQLクエリ条件の一般的な使用法の詳細な説明

この記事では、例を使用して、MySQL クエリ条件の一般的な使用方法を説明します。ご参考までに、詳細...

mysql8でルートユーザーのパスワードをリセットする手順を完了します

序文最近、多くの新しい同僚がこの質問をしてきました。特に、homebrew を通じて自動的にインスト...

CSSを使用して画像フレームアニメーションと曲線の動きを実装する

すべてのアニメーションの基本原理は、対応する画像を短時間で次々に表示し、視覚的に動いているように見せ...

HTML で JavaScript を使用する

<script> タグHTML5では、スクリプトには次の属性があります: async、d...

Centos7 での nginx のインストールと設定に関する詳細なチュートリアル

注: ソフトウェアのインストールの基本ディレクトリ パスは /usr/local です。ソフトウェア...

プロジェクトにおける CSS グリッドシステムの柔軟な使用方法の詳細な説明

序文CSS グリッドは通常、さまざまなフレームワークにバンドルされていますが、実際のビジネス ニーズ...

Vueプロジェクトでページジャンプを実装する方法

目次1. vue-cli デフォルト プロジェクトを作成する (babel のみを含む) 2. 作成...