Wiedza o tym, że kolejność deklaracji ma znaczenie może zaoszczędzić dużo czasu osobom, które są na początkowym etapie poznawania CSS3. Jednak nie dotyczy to tylko osób początkujących w CSS3, podobny problem może pojawić się również używając framework Bootstrap. Osoba używająca framework oraz dodająca własne style CSS np. w osobnym pliku STYLE.CSS, może być niezwykle zdziwiona kiedy okaże się że jej strona ostylowana jest według domyślnych ustawień Bootstrap zamiast indywidualnie przygotowanego kodu.
Przykładowo dla stylu:
<STYLE>
.klasa1 {color: red;}
.klasa2 {color: blue;}
.klasa3 {color: yellow;}
</STYLE>
<div class="klasa1 klasa2 klasa3">TEST</div>
Otrzymamy napis TEST w kolorze żółtym.
Istnieje tu jednak pułapka bo kolejność jest ważna, ale w miejscu, w którym pojawiła się deklaracja. Dlatego w kolejnym przykładzie pomimo, że część HTML nie zmieniła się i kolejność deklaracji klas jest taka jaka była jako rezultat otrzymamy napis TEST, ale w kolorze niebieskim.
Przyjrzyj się szczegółowo grafice:
- Style bezpośrednio w HTML
- Wewnętrzne i zewnętrzne style (wskazane w sekcji HEAD)
- ID – Identyfikator
- CLASS – Klasa
- <TAG> – tag
- Style przeglądarki
Żeby uniknąć tego problemy należy przestrzegać kilku zasad:
- Deklaruj swój plik CSS3 poniżej deklaracji Bootstrapa, np.:
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet" href="css/style.css" type="text/css"/>
- Używaj identyfikatorów. Identyfikator jest ważniejszy od klasy i gdy zachodzi potrzeba ostylowanie części witryny w specyficzny sposób lepiej unikać mnożenia klas, które mogą kolidować z klasami Bootstrapa
- Styl wpisany bezpośrednio w HTML ma największą wagę.
Na poniższym przykładzie widać, że pomimo 3 klas oraz użytego identyfikatora, to styl użyty bezpośrednio w DIV ostylował tekst (czyli otrzymał kolor: grey).