Hola, para comprobar que entendí bien la clase me podeis indicar si lo siguiente es correcto:
/* Seleccionar hermano siguiente + */
/* Selecciona al elemento justo depués de otro */
/* Si el elemento que sigue despues de un h1 es un p este tendrá un color rojo */
h1 + p {
color:red;
}
/* Seleccionar hermanos siguienteS ~ */
/* Selecciona todos los descendientes */
/* Cualquier elemento p que esté despues de un h1 tendrá un color rojo */
h1 ~ p {
color:red;
}
Respecto a la clase: " .check:checked + .enabled " y " .check:checked + .disabled " no coge a disabled, porque primero está enabled? Es el siguiente a check. Al poner ~ no le importa el orden, porque busca en todos los descendientes.