~Селектор фактически General родственный комбинатор (переименован в Последующий-родственного комбинатора в селекторов Уровень 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и появляются после него.