Come posso applicare gli stili a più classi contemporaneamente?


277

Voglio che due classi con nomi diversi abbiano la stessa proprietà nei CSS. Non voglio ripetere il codice.

.abc {
   margin-left:20px;
}  
.xyz {
   margin-left:20px;
}
<a class="abc">Lorem</a>
<a class="xyz">Ipsum</a>

Poiché entrambe le classi stanno facendo la stessa cosa, dovrei essere in grado di unirle in una. Come lo posso fare?

Risposte:


545
.abc, .xyz { margin-left: 20px; }

è quello che stai cercando.


6
+1, esattamente quello che stavo cercando. È inoltre possibile disporre di una seconda voce separata per .abc e / o .xyz per le proprietà che non si desidera applicare ad entrambi. Ad es. lasciato da 20px ma .abc ha lasciato solo il margine.
— Ryanfae Scozia,

64

Puoi avere più dichiarazioni CSS per le stesse proprietà separandole con virgole:

.abc, .xyz {
   margin-left: 20px;
}

1
sebbene la risposta selezionata sia completamente corretta, non possiamo garantire che i neofiti capiranno cosa sta facendo. Vorrei andare con quello spiegato di più. Dal momento che è più di "come pescare" invece di "ecco il pesce".
— Olgun Kaya,

15

Non ripetere il tuo CSS

 a.abc, a.xyz{
    margin-left:20px;
 }

O

 a{
    margin-left:20px;
 }

2
Penso abcfosse inteso come un nome di classe .. e xyzcome un altro. Il tuo suggerimento è di usare un nome di classe comune per proprietà comuni che è superfluo e confuso, data la domanda.
— Arete,

4

Se lo usi come segue, il tuo codice può essere più efficace di quello che hai scritto. Devi aggiungere un'altra funzione.

.abc, .xyz {
margin-left:20px;
width: 100px;
height: 100px;
} 

O

a.abc, a.xyz {
margin-left:20px;
width: 100px;
height: 100px;
} 

O

a {
margin-left:20px;
width: 100px;
height: 100px;
} 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.