Jak mogę zastosować style do wielu klas jednocześnie?


277

Chcę, aby dwie klasy o różnych nazwach miały tę samą właściwość w CSS. Nie chcę powtarzać kodu.

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

Ponieważ obie klasy robią to samo, powinienem być w stanie połączyć je w jedną. Jak mogę to zrobić?

Odpowiedzi:


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

jest tym, czego szukasz.


6
+1, dokładnie to, czego szukałem. Możesz także mieć drugi, osobny wpis dla .abc i / lub .xyz dla właściwości, których nie chcesz stosować do obu, np. .Xyz {font-weight: bold;} połączy się, aby .xyz pogrubić i margines left'ed o 20px, ale .abc tylko margin-left'ed.
RyanfaeScotland

64

Możesz mieć wiele deklaracji CSS dla tych samych właściwości, oddzielając je przecinkami:

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

1
chociaż wybrana odpowiedź jest całkowicie poprawna, nie możemy zagwarantować, że początkujący zrozumieją, co robi. Chciałbym pójść z tym, który wyjaśnił więcej. Ponieważ chodzi bardziej o „jak łowić ryby” niż o „tu jest ryba”.
Olgun Kaya,

15

Nie powtarzaj swojego CSS

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

LUB

 a{
    margin-left:20px;
 }

2
Myślę, że abcmiało to oznaczać jedną nazwę klasy ... i xyzinną. Sugerujesz, aby użyć wspólnej nazwy klasy dla wspólnych właściwości, która jest zbędna i myląca, biorąc pod uwagę pytanie.
Arete,

3

Jeśli użyjesz w następujący sposób, Twój kod może być bardziej skuteczny niż napisałeś. Powinieneś dodać kolejną funkcję.

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

LUB

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

LUB

a {
margin-left:20px;
width: 100px;
height: 100px;
} 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.