ホームページ >ウェブフロントエンド >CSSチュートリアル >CSS3 の最初の子セレクターの実践的なコード

CSS3 の最初の子セレクターの実践的なコード

高洛峰
高洛峰オリジナル
2017-03-13 17:12:581347ブラウズ

この記事では主に、first-child と :first-of-child の違いや IE 互換性の問題の説明など、CSS3 の first-child セレクターの実践的な戦略を 紹介します。必要な友人は参照してください

。 CSS の

:first-child セレクターは、特定の要素HTML

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
<hr>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>

CSS


// 只套用编号 1 的 li   
li:first-child {   
    color: green;   
}

first-child および :first-of- の最初のオブジェクト グループ (同じ親) を選択できます。 child
のような HTML コードがあるとします。

<p>
    <p>第1个元素</p>
    <h1>第2个元素</h1>
    <span>第3个元素</span>
    <span>第4个元素</span>
</p>

CSS selector: 次の
define メソッドを使用すると、p となります。 :first-child 一致するのは p 要素です。p 要素は p の最初の子要素であるため、
h1:first-child はどの要素とも一致できません。これは、ここで h1 が p の最初の子要素ではなく 2 番目の子要素であるためです。
span:first-child は、どの要素にも一致しません。ここでは、span 要素が p の最初の子要素ではないためです。
:first-child は、p 要素に一致します。これは、ここでは p の最初の子要素が p であるためです。
上記の 2 つの適用された
スタイルは一致できませんが、パニックにならないでください。CSS では、first-of-child擬似クラス も定義されています。その使用法と説明を参照してください: p:first -of-type
は p 要素と一致します。これは、p が p のすべてのサブ要素の最初であるためです。実際、ここには p のサブ要素が 1 つだけあります。 h1: first-of-type が一致します。 h1 要素は次のとおりです。 h1 は p のすべての h1 サブ要素の最初であるため、実際には、 span:first-of-type が 3 番目のサブ要素と一致します。ここで、p にはスパンである 2 つの子要素があり、最初の子要素が一致します。
:first-of-type は p 要素と一致します。

概要
: :first-child は、親要素の最初の子要素と一致します。これは、構造内の最初の子要素であると言えます。 :first-of-type は、型の最初の要素と一致します。その型は、コロンの前に一致するものを指します。たとえば、p:first-of-type は、すべての p 要素の最初の要素を指します。 。もちろん、これらの要素のスコープはすべて同じレベル、つまりピアに属している限り、最初の子要素に制限はありません。
同じタイプのセレクター :last-child と
:last-of-type
、:nth-child(n) と :nth-of-type(n) もこのように理解できます。

IE 互換性の問題
まず、次のコード部分を見てください。HTML 部分:

<ul class="example">
    <li>aa</li>
    <li>bb</li>
    <li>cc</li>
    <li>dd</li>
</ul>

CSS 部分:

.example li{float:left;margin-left:10px;}

最初の li の margin-left を 0px に設定する必要がある場合これは、次のメソッドで実現できます:

.example li{float:left;margin-left:10px;}   
.example li:first-child{margin-left:0;}

ただし、IE6 は :child-first メソッドをサポートしていないため、

expression

を使用して、IE6 もサポートしていることを認識する必要があります。 child-first、theコードは次のとおりです:

.example li{float:left; margin-left:10px; _margin-left:expression(this.previousSibling==null?&#39;0px&#39;:&#39;10px&#39;);}   
.example li:first-child{margin-left:0;}

もちろん、プログラムで必要な場合は、マージン左を再定義するために

class

を追加することもできます。 li を loop 出力するには、child-first を使用すると、少なくともプログラムの判断が 1 つ減ります。

以上がCSS3 の最初の子セレクターの実践的なコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。