De ~
hecho, el selector es el combinador de hermanos general (renombrado como combinador de hermanos posteriores en los selectores de nivel 4 ):
El combinador de hermanos general está hecho del carácter "tilde" (U + 007E, ~) que separa dos secuencias de selectores simples. Los elementos representados por las dos secuencias comparten el mismo padre en el árbol del documento y el elemento representado por la primera secuencia precede (no necesariamente inmediatamente) al elemento representado por la segunda.
Considere el siguiente ejemplo:
.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
coincide con el cuarto y quinto elemento de la lista porque:
- Son
.b
elementos
- Son hermanos de
.a
- Aparecer después
.a
en orden de origen HTML.
Del mismo modo, .check:checked ~ .content
coincide con todos los .content
elementos que son hermanos .check:checked
y aparecen después de él.