CSS (Cascading Style Sheets), czyli kaskadowe arkusze stylów, to język służący do definiowania wyglądu i formatowania stron internetowych.
CSS jest językiem deklaratywnym – określasz efekt, a przeglądarka wie, jak go zrealizować. Dzięki temu możesz skupić się na rezultacie wizualnym, a nie na procesie jego osiągania.
Historia i znaczenie CSS
Definicja CSS została wprowadzona w 1996 roku przez konsorcjum W3C (World Wide Web Consortium). Od tamtej pory CSS stał się fundamentem nowoczesnego frontendu i nieodłączną częścią każdej profesjonalnej strony.
Podstawowa struktura CSS
Elementy reguł CSS
Kaskadowy arkusz stylów składa się z selektorów i deklaracji, które razem tworzą reguły stylów.
Selektory wskazują elementy HTML, do których mają być zastosowane style (np. p dla akapitów, h1 dla nagłówków), a także klasy (np. .klasa) i identyfikatory (np. #header).
Deklaracje to blok w nawiasach klamrowych, gdzie każda para właściwość: wartość jest oddzielona średnikiem (np. color, background, font-size z wartościami red, 16px, #ff0000).
Praktyczny przykład reguły CSS:
p { color: #333; font-size: 16px; }
Ta reguła oznacza, że wszystkie paragrafy będą mieć ciemnoszary tekst i rozmiar czcionki 16 pikseli.
Możliwości i funkcje CSS
Kaskadowe arkusze stylów umożliwiają pełną kontrolę nad wyglądem elementów na stronie. Oto najważniejsze zastosowania:
- określać rozmiar i kolor czcionki,
- definiować kolory tekstu i tła,
- ustalać odstępy i rozmieszczenie tekstu oraz obrazów na stronie,
- kontrolować layout (układ) całej witryny,
- tworzyć responsywne projekty dostosowujące się do różnych urządzeń,
- nadawać zaawansowane efekty wizualne.
Szeroki zakres możliwości sprawia, że CSS to potężne narzędzie w rękach projektantów.
Separacja warstw – HTML a CSS
Jedną z kluczowych zalet CSS jest oddzielenie warstwy wizualnej od warstwy semantycznej. HTML odpowiada za strukturę i znaczenie treści (nagłówki, akapity, listy, obrazy), natomiast CSS definiuje ich wygląd. Ta separacja upraszcza utrzymanie i rozwój projektu – wygląd zmieniasz w stylach, a nie w znacznikach.
Selektory CSS – precyzja w stylizacji
Selektory CSS pozwalają precyzyjnie wskazywać elementy do stylowania. Najczęściej używane typy to:
- Selektory typu – odnoszą się do znaczników HTML (np.
p,h1,body); - Selektory klas – stosują styl do wielu elementów o tej samej klasie (np.
.container,.highlight); - Selektory identyfikatorów – celują w unikalny element (np.
#header,#footer).
Dzięki selektorom precyzyjnie kontrolujesz wygląd wybranych części strony, zachowując spójność i estetykę projektu.
Kaskada – system priorytetów stylów
Nazwa „kaskadowe” pochodzi stąd, że gdy reguły się wykluczają, przeglądarka wybiera zwycięski styl zgodnie z hierarchią. Najpierw decyduje specyficzność selektora; przy remisie wygrywa deklaracja późniejsza lub oznaczona !important.
Kolejność priorytetów wygląda następująco:
- Domyślne ustawienia przeglądarki
- Zewnętrzny arkusz stylów
- Osadzony arkusz stylów (w sekcji
<head></head>) - Styl wpisany (inline) w konkretnym elemencie HTML
Ogólne reguły nadpisujesz węższymi, a w razie potrzeby – stylami inline.
Sposoby implementacji CSS
Zewnętrzne arkusze stylów
Połączone arkusze stylów znajdują się w osobnym pliku .css. W kodzie HTML dodajesz odwołanie, np.: <link rel="stylesheet" href="styles.css">. To podejście jest najczęściej rekomendowane, ponieważ:
- utrzymuje większą przejrzystość i porządek w kodzie,
- ułatwia aktualizację wyglądu na wielu stronach jednocześnie,
- zmniejsza rozmiar i złożoność dokumentów HTML.
Arkusze osadzone
Style definiujesz w nagłówku strony między <head></head> za pomocą <style>...</style>. Sprawdza się to przy mniejszych projektach lub prototypach.
Style inline
Możesz dodać styl bezpośrednio w znaczniku HTML, np. <p style="color:#333">, jednak jest to podejście odradzane, bo miesza wygląd ze strukturą i utrudnia skalowanie.
Modularne podejście do stylów
Zaawansowani projektanci dzielą style na mniejsze, wyspecjalizowane pliki. Przykładowy podział wygląda tak:
reset.css– resetuje domyślne style przeglądarki,layout.css– definiuje strukturę strony,typography.css– odpowiada za ustawienia czcionek.
Modułowość ułatwia utrzymanie i nawigację po setkach reguł, zachowując porządek w projekcie.
Preprocesory CSS – zaawansowane narzędzia
Sass i Less to preprocesory CSS, które rozszerzają możliwości czystego CSS. Pozwalają pisać kod z użyciem:
- zmiennych – definiujesz wartości wielokrotnego użytku;
- pętli – automatyzujesz powtarzalne reguły;
- funkcji – wprowadzasz bardziej zaawansowaną logikę.
Kod preprocesora jest następnie kompilowany do standardowego CSS, który rozumie każda przeglądarka.
Praktyczne zastosowania CSS
W nowoczesnym web designie CSS jest niezastąpione. Dzięki niemu możesz:
- tworzyć responsywne projekty dopasowujące się do różnych rozmiarów ekranów,
- budować złożone layouty z precyzyjną kontrolą nad rozmieszczeniem elementów,
- tworzyć elastyczne reguły, które łatwo nadpiszesz dla konkretnych sekcji,
- nadawać profesjonalny wygląd stronom internetowym,
- ulepszać doświadczenie użytkownika poprzez czytelny układ i spójność wizualną.
