Kurs HTML

1.4. Komentarze w CSS

Czym są komentarze w CSS?

Podobnie jak w HTML i JavaScript, komentarze w CSS to fragmenty tekstu, które są całkowicie ignorowane przez przeglądarkę podczas przetwarzania arkusza stylów. Służą one wyłącznie programistom do dodawania notatek, wyjaśnień lub tymczasowego wyłączania fragmentów kodu.

Używanie komentarzy jest dobrą praktyką, która znacząco poprawia **czytelność i łatwość utrzymania** kodu CSS, zwłaszcza w większych projektach lub podczas pracy zespołowej.

Składnia komentarzy w CSS

W CSS istnieje tylko jeden rodzaj komentarzy – **komentarze blokowe**, podobne do tych znanych z JavaScript czy C.

Komentarz zaczyna się od znaków /* i kończy na znakach */. Wszystko, co znajduje się pomiędzy tymi znacznikami, jest traktowane jako komentarz, niezależnie od tego, czy zajmuje jedną, czy wiele linii.

/* To jest komentarz jednoliniowy w CSS */

body {
  font-family: sans-serif;
  /* background-color: lightblue;  Ten styl jest tymczasowo wyłączony */
  background-color: white;
}

/*
  To jest komentarz,
  który obejmuje
  wiele linii.
  Można tu umieścić dłuższe wyjaśnienia.
*/

h1 {
  color: navy; /* Ustawienie koloru nagłówka */
  font-size: 2em;
}

/* Komentarze nie mogą być zagnieżdżane! */
/* To jest początek /* komentarza zagnieżdżonego */ - to spowoduje błąd lub nieoczekiwane zachowanie */

Ważna uwaga: W przeciwieństwie do JavaScript, CSS **nie obsługuje komentarzy jednoliniowych** rozpoczynających się od //. Użycie // w pliku CSS zostanie potraktowane jako błąd składni lub część selektora/wartości.

Również **komentarze CSS nie mogą być zagnieżdżane**. Pierwsze napotkane znaki */ zakończą cały blok komentarza, niezależnie od tego, ile razy /* pojawiło się w jego wnętrzu.

Zastosowania komentarzy w CSS

  • Wyjaśnianie kodu: Dodawanie krótkich notatek wyjaśniających cel bardziej skomplikowanych reguł, nietypowych wartości (np. specyficznych kolorów HEX) lub obejść dla błędów przeglądarek.
  • Organizacja kodu: Używanie komentarzy do dzielenia arkusza stylów na logiczne sekcje (np. style ogólne, style nagłówka, style stopki, style formularzy), co ułatwia nawigację.
  • Dokumentacja: Dodawanie informacji o autorze, dacie modyfikacji, wersji lub licencji na początku pliku CSS.
  • Tymczasowe wyłączanie stylów (debugowanie): Zakomentowanie fragmentów kodu CSS jest szybkim sposobem na sprawdzenie, jak strona wygląda bez określonych stylów, co jest pomocne podczas debugowania problemów z layoutem lub wyglądem.
  • Notatki "TODO": Oznaczanie miejsc w kodzie, które wymagają dalszej pracy lub poprawy (np. /* TODO: Zoptymalizować selektor */).

Przykład organizacji kodu za pomocą komentarzy:

/* ==========================================================================
   Style Ogólne
   ========================================================================== */
body {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
}

a {
  color: blue;
  text-decoration: none;
}

/* ==========================================================================
   Nagłówek
   ========================================================================== */
.header {
  background-color: #333;
  color: white;
  padding: 10px 0;
}

.logo {
  font-size: 1.5em;
  font-weight: bold;
}

/* ==========================================================================
   Stopka
   ========================================================================== */
.footer {
  margin-top: 20px;
  padding: 10px;
  text-align: center;
  font-size: 0.8em;
  border-top: 1px solid #ccc;
}

/* TODO: Dodać style dla nawigacji */

Dobre praktyki pisania komentarzy CSS

  • Bądź zwięzły i na temat: Komentarze powinny być krótkie i wyjaśniać tylko to, co konieczne.
  • Utrzymuj komentarze aktualne: Podobnie jak w innych językach, jeśli zmieniasz kod CSS, zaktualizuj powiązane komentarze.
  • Używaj do organizacji: Wykorzystaj komentarze do logicznego podziału dużych arkuszy stylów.
  • Unikaj oczywistych komentarzy: Nie komentuj czegoś, co jest jasno wyrażone przez sam kod (np. /* Ustawienie koloru na czerwony */ color: red;).
  • Spójność: Stosuj spójny styl formatowania komentarzy w całym projekcie (np. sposób tworzenia nagłówków sekcji).

Zadania praktyczne

Zadanie 1 (z rozwiązaniem)

Dodaj komentarz blokowy na początku pliku CSS (lub bloku <style>), zawierający Twoje imię i dzisiejszą datę.

Rozwiązanie:

/*
 * Autor: [Twoje Imię]
 * Data: [Dzisiejsza Data]
 */

body {
  font-family: sans-serif;
}

/* ... reszta stylów ... */

Zadanie 2 (do samodzielnego wykonania)

Masz następującą regułę CSS. Użyj komentarza, aby tymczasowo wyłączyć deklarację background-color i sprawdź efekt w przeglądarce.

.warning-box {
  border: 1px solid red;
  padding: 15px;
  background-color: lightcoral;
  color: white;
}

Zadanie 3 (do samodzielnego wykonania)

Napisz kilka reguł CSS dla różnych elementów (np. h1, p, .button). Użyj komentarzy w stylu nagłówków (jak w przykładzie organizacji kodu), aby podzielić te reguły na sekcje, np. "Style Nagłówków", "Style Tekstu", "Style Przycisków".

FAQ - Najczęściej zadawane pytania

Czy komentarze CSS wpływają na wydajność strony?

Nie, komentarze są usuwane przez przeglądarkę podczas parsowania CSS i nie mają wpływu na szybkość renderowania strony. Mogą minimalnie zwiększać rozmiar pliku CSS, ale narzędzia do minifikacji (używane przed wdrożeniem na produkcję) zazwyczaj usuwają wszystkie komentarze, więc nie ma to wpływu na użytkownika końcowego.

Czy mogę używać // do komentarzy w CSS?

Nie, standardowy CSS nie rozpoznaje komentarzy jednoliniowych //. Użycie ich spowoduje błąd lub nieoczekiwane zachowanie. Jedynym poprawnym sposobem komentowania w CSS jest użycie składni /* komentarz */.

Jak zakomentować wiele linii naraz w edytorze kodu?

Większość nowoczesnych edytorów kodu (jak VS Code, Sublime Text, Atom) oferuje skróty klawiszowe do szybkiego komentowania i odkomentowywania zaznaczonych linii kodu. Zazwyczaj jest to Ctrl+/ (Windows/Linux) lub Cmd+/ (macOS). Edytor automatycznie zastosuje odpowiednią składnię komentarza (/* */ w CSS).

Czy komentarze są przydatne w preprocesorach CSS jak Sass/SCSS?

Tak, komentarze są równie ważne w preprocesorach. Co więcej, Sass/SCSS obsługuje również komentarze jednoliniowe //, które są usuwane podczas kompilacji do CSS, oraz standardowe komentarze /* */, które mogą być zachowane w wynikowym pliku CSS (w zależności od ustawień kompilacji).