Ponieważ CSS nie jest językiem programowania, jest to plik konfiguracyjny zawierający zmienne dane dla twojego programu.
Obecnie CSS jest tak potężny, że można w nim programować, ale to nie wszystko. Zasadniczo jest to nadal język arkusza stylów .
Cofnijmy się o krok. Wyobraź sobie, że mamy język programowania, który może rysować na ekranie. Wyobraź sobie, że chcemy zaprogramować go do malowania strony internetowej.
Na początku w naszym kodzie wprowadzaliśmy mnóstwo magicznych liczb. Szerokość marginesu, wysokość tekstu, wcięcia itp. Itp.
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
Wyciągamy więc magiczne liczby i umieszczamy je na górze naszego pliku.
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
To jest trochę brzydkie. Raczej czytamy nasze zmienne liczby z pliku konfiguracyjnego.
margin 100
table 500
text size 12
To trochę niejasne ... Co oznaczają te liczby? Co oznaczają te nazwy? Sformalizujmy to trochę.
margin_left 10em
table_width 500px
table_height 500px
font_size 12px
Ale wiesz, chcemy trochę rozszerzyć nasz program. Chcemy również, aby rysował strony z wieloma tabelami, strony bez tabel, strony z akapitami lub przyciskami i jeszcze więcej. Dodajmy selektory do naszego pliku konfiguracyjnego, abyśmy mogli określić, który akapit powinien mieć większą czcionkę lub inny kolor tekstu, być może możemy obsługiwać elementy zagnieżdżone, być może możemy użyć ogólnej właściwości w naszym pliku konfiguracyjnym, a następnie zastąpić ją określonym jeden na kilka zagnieżdżonych elementów.
Czujesz, dokąd to zmierza, w końcu przybywasz jako CSS. (I przeglądarka do renderowania).
Czy powinniśmy zatem dodać możliwości do naszego pliku konfiguracyjnego, abyśmy mogli ponownie uniknąć magicznych liczb? Dodać zmienne? Dodać plik konfiguracyjny dla naszego pliku CSS? To trochę bezcelowe, jeśli pamiętasz, że nasz plik CSS jest już tym samym plikiem konfiguracyjnym.
Ale to oczywiście nie jest prawda; Twój plik CSS powiększa się i ostatecznie napotykasz te same problemy, co w przypadku oryginalnych liczb magicznych, ta sama liczba powtarzana w każdym miejscu, czasem z niewielkimi przekształceniami itp.
Współczesny CSS pozwala jednak na wiele sposobów na uniknięcie tego powtarzania. Możesz użyć klas, które odnoszą się do wielu elementów, możesz ustawić styl dla wszystkich div
s, ale następnie zastąpić jeden konkretnie, a CSS 3 pozwala nawet na pewien rodzaj zmiennego użycia.
Nie oznacza to, że musisz zacząć używać zmiennej CSS w każdej możliwej lokalizacji. Używaj go tam, gdzie ma to sens, i używaj go tam, gdzie unikasz powielania lub gdy inne dostępne techniki również się nie udają.
W końcu nie chcesz też zbyt wielu magicznych liczb w pliku konfiguracyjnym :-)