~
文字を検索するのは簡単ではありません。私はいくつかの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
の後に表示されます。同様に、.check:checked ~ .content
は、.content
の兄弟であり、その後ろにあるすべての.check:checked
要素に一致します。
一般的な兄弟コンビネータ
一般的な兄弟コンビネータセレクタは、隣接する兄弟コンビネータセレクタと非常によく似ています。違いは、選択されている要素が最初の要素のすぐ後に続く必要はなく、その後のどこにでも出現できることです。
ファミリーの他の combinators をチェックし、この特定のものに戻るのも良いでしょう。
ul li
ul > li
ul + ul
ul ~ ul
チェックリストの例:
ul li
-Looking inside-allを選択li
内の(どこでも)配置されたul
要素。 子孫セレクターul > li
-Looking inside-onlyを選択li
のdirectul
要素;つまり、li
の直接の子ul
のみを選択します。 子セレクターまたは子コンビネーターセレクターul + ul
-Looking outside-ul
の直後のul
を選択します。内部を見るのではなく、すぐ後に続く要素を外で見る。 隣接する兄弟セレクターul ~ ul
-Looking outside-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
の後上記の例では、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>
属性セレクタ(例:[attr~=value]
)では、チルダは
属性名が attr の要素を表し、その値は空白で区切られた単語のリストで、そのうちの1つは正確に value です。
https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors