Фактично ~
селектор є Генеральним комбінатором братів і сестер (перейменованим на наступний комбінататор побратимів у селекторах 4 рівня ):
Загальний комбінатор побратимів складається з символу "тильда" (U + 007E, ~), який розділяє дві послідовності простих селекторів. Елементи, представлені двома послідовностями, поділяють один і той же батьків у дереві документа, а елемент, представлений першою послідовністю, передує (не обов'язково одразу) елементу, представленому другою.
Розглянемо наступний приклад:
.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
і з'являються після нього.