~
キャラクターを探すのは簡単ではありません。私はいくつかのCSSを調べていて、これを見つけました
.check:checked ~ .content {
}
どういう意味ですか?
~
キャラクターを探すのは簡単ではありません。私はいくつかのCSSを調べていて、これを見つけました
.check:checked ~ .content {
}
どういう意味ですか?
~
セレクターは、実際には一般的な兄弟コンビネーターです(セレクター レベル 4では、後続の兄弟コンビネーターに名前が変更されています)。
一般的な兄弟コンビネータは、単純なセレクターの 2 つのシーケンスを区切る「チルダ」(U+007E, ~) 文字で構成されます。2 つのシーケンスで表される要素は、ドキュメント ツリー内で同じ親を共有し、最初のシーケンスで表される要素は、2 番目のシーケンスで表される要素の前 (必ずしもすぐではない) にあります。
次の例を検討してください。
.a ~ .b {
background-color: powderblue;
}
<ul>
<li class="b">1st</li>
<li class="a">2nd</li>
<li>3rd</li>
<li class="b">4th</li>
<li class="b">5th</li>
</ul>
.a ~ .b
次の理由により、4 番目と 5 番目のリスト項目に一致します。
.b
要素 です.a
.a
HTML ソース順に表示されます。同様に、兄弟であり、その後に現れるすべての要素に.check:checked ~ .content
一致します。.content
.check:checked
ファミリ内の他のコンビネータもチェックして、この特定のコンビネータが何であるかに戻ることをお勧めします。
ul li
ul > li
ul + ul
ul ~ ul
チェックリストの例:
ul li
-中を見る - 内に (どこにでも) 配置されたすべてのli
要素を選択しul
ます。子孫セレクターul > li
-内部を見る-の直接 li
要素のみを選択しul
ます。li
つまり、の直接の子のみが選択されますul
。子セレクタまたは子コンビネータセレクタul + ul
-外を見るul
- の直後のul
;を選択します。内側を見ているのではなく、すぐ後に続く要素を外側から探しています。隣接兄弟セレクターul ~ ul
-外を見るul
-に続くすべてを選択しますul
。場所は関係ありませんが、両方ul
が同じ親を持つ必要があります。一般的な兄弟セレクターここで見ているのは、General Sibling Selectorです。
一般的な兄弟コンビネータ
一般兄弟コンビネータ セレクタは、隣接兄弟コンビネータ セレクタと非常によく似ています。違いは、選択される要素が最初の要素のすぐ後に続く必要はなく、その後のどこにでも表示できることです。
それはGeneral sibling combinator
@Salamanの回答で非常によく説明されています。
私が逃したのは、Adjacent sibling combinator
どちらが+
と密接に関連しているのかということ~
です。
例は
.a + .b {
background-color: #ff0000;
}
<ul>
<li class="a">1st</li>
<li class="b">2nd</li>
<li>3rd</li>
<li class="b">4th</li>
<li class="a">5th</li>
</ul>
.b
.a
.a
HTMLの後上記の例では、2 番目をマークしますli
が、4 番目はマークしません。
.a + .b {
background-color: #ff0000;
}
<ul>
<li class="a">1st</li>
<li class="b">2nd</li>
<li>3rd</li>
<li class="b">4th</li>
<li class="a">5th</li>
</ul>