Do elementu DIV można przypisać wiele klas. Po prostu oddziel je w nazwie klasy spacjami w ten sposób:
<div class="rule1 rule2 rule3">Content</div>
Ten div wtedy dało żadnych reguł stylów dla trzech różnych selektorów klas: .rule1
, .rule2
i .rule3
.
Reguły CSS są stosowane do obiektów na stronie, które pasują do swoich selektorów w kolejności, w jakiej występują w arkuszu stylów, a jeśli występuje konflikt między dwiema regułami (więcej niż jedna reguła próbuje ustawić ten sam atrybut), to specyficzność CSS określa, która zasada ma pierwszeństwo.
Jeśli specyficzność CSS jest taka sama dla sprzecznych reguł, to późniejsza (zdefiniowana później w arkuszu stylów lub w późniejszym arkuszu stylów) ma pierwszeństwo. Kolejność nazw klas w samym obiekcie nie ma znaczenia. Kolejność reguł stylów w arkuszu stylów ma znaczenie, jeśli specyfika CSS jest taka sama.
Tak więc, gdybyś miał takie style:
.rule1 {
background-color: green;
}
.rule2 {
background-color: red;
}
Następnie, ponieważ obie reguły pasują do elementu div i mają dokładnie taką samą specyfikę CSS, druga reguła pojawia się później, więc będzie miała pierwszeństwo, a tło będzie czerwone.
Jeśli jedna reguła miała wyższą specyficzność CSS ( div.rule1
wyniki wyższe niż .rule2
):
div.rule1 {
background-color: green;
}
.rule2 {
background-color: red;
}
Wtedy miałoby to pierwszeństwo, a kolor tła byłby zielony.
Jeśli te dwie reguły nie są ze sobą sprzeczne:
.rule1 {
background-color: green;
}
.rule2 {
margin-top: 50px;
}
Następnie zastosowane zostaną obie reguły.