CSS (ang. Cascading Style Sheets) to język arkuszy stylów używany do opisywania wyglądu i formatowania dokumentów napisanych w językach znaczników, takich jak HTML. CSS pozwala na oddzielenie treści strony internetowej od jej wyglądu, co ułatwia zarządzanie stylem i prezentacją wielu stron internetowych jednocześnie.
Kluczowe elementy CSS:
- Selektory:
- Selektory określają, do których elementów HTML mają zostać zastosowane reguły stylów. Przykłady selektorów to:
- Selektory tagów:
p { color: blue; }
– Stosuje styl do wszystkich elementów<p>
. - Selektory klas:
.nazwa-klasy { font-size: 14px; }
– Stosuje styl do wszystkich elementów z klasąnazwa-klasy
. - Selektory identyfikatorów (ID):
#nazwa-id { margin: 20px; }
– Stosuje styl do elementu o unikalnym IDnazwa-id
. - Selektory atrybutów:
a[target="_blank"] { color: red; }
– Stosuje styl do linków otwieranych w nowym oknie.
- Selektory tagów:
- Selektory określają, do których elementów HTML mają zostać zastosowane reguły stylów. Przykłady selektorów to:
- Właściwości i wartości:
- CSS definiuje zestaw właściwości, które można stosować do elementów HTML, aby kontrolować ich wygląd. Właściwości są przypisane wartościom. Przykłady:
- Kolor tekstu:
color: red;
- Rozmiar czcionki:
font-size: 16px;
- Margines zewnętrzny:
margin: 10px;
- Tło:
background-color: #f0f0f0;
- Kolor tekstu:
- CSS definiuje zestaw właściwości, które można stosować do elementów HTML, aby kontrolować ich wygląd. Właściwości są przypisane wartościom. Przykłady:
- Kaskadowość (cascading):
- CSS jest kaskadowy, co oznacza, że style mogą być dziedziczone przez elementy potomne i łączone z innymi stylami. W przypadku konfliktu, przeglądarka stosuje reguły w kolejności ich specyficzności (selekcja), a jeśli specyficzność jest taka sama, ostatnia reguła ma pierwszeństwo.
- Model pudełkowy (box model):
- W CSS każdy element jest traktowany jako prostokątne pudełko, które składa się z następujących warstw:
- Content (zawartość): Obszar zawierający treść elementu.
- Padding (wypełnienie): Przestrzeń pomiędzy zawartością a granicą elementu.
- Border (obramowanie): Krawędź wokół wypełnienia.
- Margin (margines): Przestrzeń zewnętrzna wokół obramowania, oddzielająca element od innych elementów.
- W CSS każdy element jest traktowany jako prostokątne pudełko, które składa się z następujących warstw:
- Media Queries:
- Media queries to technika CSS umożliwiająca stosowanie różnych stylów w zależności od charakterystyki urządzenia, takiej jak szerokość ekranu, orientacja, czy rozdzielczość. Są one kluczowe dla projektowania responsywnych stron internetowych.
- Pseudo-klasy i pseudo-elementy:
- Pseudo-klasy: Stosują styl do określonych stanów elementów, takich jak
:hover
(gdy element jest najechany kursorem) lub:nth-child(n)
(określa stylowanie elementów w zależności od ich pozycji w rodzicu).- Przykład:
a:hover { color: green; }
- Przykład:
- Pseudo-elementy: Pozwalają na stylowanie określonych części elementu, takich jak pierwsza litera (
::first-letter
) lub wstawienie treści przed lub za elementem (::before
,::after
).- Przykład:
p::first-letter { font-size: 2em; color: red; }
- Przykład:
- Pseudo-klasy: Stosują styl do określonych stanów elementów, takich jak
Zastosowania CSS:
- Styling stron internetowych: CSS jest używany do określania wyglądu i układu stron internetowych, co obejmuje kolory, czcionki, marginesy, odstępy, układy siatki i wiele innych aspektów wizualnych.
- Responsywne projektowanie: CSS pozwala na tworzenie stron internetowych, które dostosowują się do różnych rozmiarów ekranu i urządzeń, co jest kluczowe w erze mobilnego internetu.
- Interaktywność: Za pomocą pseudo-klas i animacji CSS można dodać interaktywne elementy do stron internetowych, takie jak efekty hover, przejścia kolorów, animacje i inne efekty wizualne.
Zalety CSS:
- Oddzielenie treści od stylu: Dzięki CSS można oddzielić treść strony (HTML) od jej wyglądu, co ułatwia zarządzanie stroną, jej aktualizacje oraz utrzymanie spójnego stylu w całej witrynie.
- Elastyczność: CSS umożliwia tworzenie zaawansowanych układów i stylów, które można łatwo dostosować do różnych potrzeb i urządzeń.
- Zwiększenie wydajności: Zastosowanie zewnętrznych arkuszy stylów (CSS) umożliwia przechowywanie stylów w oddzielnych plikach, co pozwala na ich współdzielenie między wieloma stronami i minimalizuje czas ładowania stron.
Wady CSS:
- Kompatybilność między przeglądarkami: CSS może być różnie interpretowany przez różne przeglądarki, co czasami wymaga dodatkowych dostosowań lub hacków, aby uzyskać spójny wygląd na wszystkich urządzeniach.
- Złożoność w zaawansowanych projektach: W miarę jak stylizacja staje się bardziej zaawansowana, arkusze stylów mogą się rozrastać, co może prowadzić do trudności w zarządzaniu i utrzymaniu spójności kodu.
- Brak logiki programistycznej: CSS jest językiem deklaratywnym, co oznacza, że nie posiada zaawansowanych funkcji programistycznych, takich jak pętle czy warunki, które są dostępne w językach programowania.
CSS jest nieodłącznym elementem współczesnego projektowania stron internetowych, umożliwiając twórcom stron precyzyjne kontrolowanie ich wyglądu i stylu. Dzięki CSS strony internetowe mogą być nie tylko funkcjonalne, ale także estetyczne i responsywne, dostosowując się do różnych urządzeń i preferencji użytkowników.