CSS e HTML incoerenti quando si dichiarano più classi

2

Sto imparando i CSS "seriamente" per la prima volta, ma ho scoperto che il modo in cui gestisci più classi CSS in CSS e HTML è abbastanza incoerente.

Ad esempio, ho imparato che se voglio dichiarare più classi CSS con uno stile comune applicato a loro, scrivo:

.style1, .style2, .style3 {
   color: red;
}

Quindi, se voglio dichiarare un tag HTML a cui sono applicate più classi, scrivo:

<div class="style1 style2 style3"></div>

E sto chiedendo perché? Dal mio personale punto di vista sarebbe più coerente se entrambi potessero essere dichiarati usando una virgola per separare ogni classe, o se entrambi potrebbero essere dichiarati usando uno spazio; dopotutto IMHO stiamo ancora parlando di più classi, sia in CSS che in HTML. Penso che sarebbe più sensato se potessi scrivere questo per dichiarare un div con più classi applicate:

<div class="style1, style2, style3"></div>

Mi manca qualcosa di importante? Potresti spiegarmi se c'è una ragione valida dietro queste due diverse sintassi?

    
posta Cesco 01.12.2011 - 10:30
fonte

1 risposta

2

(presumo volessi dire .style1 .style2 .style3 nell'esempio CSS, altrimenti ti riferisci ai nomi dei tag.)

Nei CSS, .style1 .style2 significa qualcosa di completamente diverso da .style1, .style2 : il primo si applica solo a un elemento che ha entrambe le classi style1 e style2, il secondo si applica a style1 e style2 singolarmente. Questa distinzione è fondamentale (non dimenticare la C in CSS significa "cascata"), quindi non ci dovrebbe essere un modo per eliminare la necessità della virgola.

Ora, per quanto riguarda il motivo per cui non puoi usare le virgole nell'elemento HTML, potresti avere un punto: sfortunatamente è troppo tardi per fare qualcosa al riguardo.

    
risposta data 01.12.2011 - 11:03
fonte

Leggi altre domande sui tag