ATRYBUT CLASS

W naszej książce napisaliśmy o tym, że za pomocą atrybutu class można wybrać fragmenty strony o określonym znaczeniu. Nanonauci chcieli na przykład móc zmienić styl swoich „Wskazówek” tak, by się wyróżniały, bez potrzeby zmiany tego stylu dla każdej wskazówki z osobna. Aby to zrobić, utworzyli klasę o nazwie top-tip, którą mogą przypisywać do dowolnego elementu akapitu, czyli elementu <p>.


p.top-tip {
  border:4px solid #00AFEB;
  border-radius:10px;
  padding:16px;
  background-color:#C5EBFB;
}
  p.top-tip::before {
  color:black;
  content:"WSKAZÓWKA: ";
  font-weight:bold;
}

Następnie dodali ten styl do elementu <p> w kodzie HTML.

<p class="top-tip">Wszystko, co znajduje się w tym elemencie, otrzymało klasę o nazwie top-tip.</p>

Przyjrzyjmy się działaniu tego kodu.

W pierwszej regule powyżej zadeklarowaliśmy:

  • jednolite niebieskie obramowanie o grubości 4 pikseli wokół akapitu;
  • zaokrąglone rogi obramowania;
  • pewien odstęp między tekstem a obramowaniem;
  • jaśniejsze, niebieskie tło wewnątrz obramowania.

Druga reguła zawiera coś, z czym wcześniej się nie zetknęliśmy — pseudoelement ::before. Pseudoelementy można poznać po poprzedzających je dwóch dwukropkach.

Pseudoelement informuje przeglądarkę, by wstawiła zawartość reguły przed treścią elementu <p>. Ta zawartość to tekst „WSKAZÓWKA”, wypisany czarnymi, pogrubionymi literami. To oznacza, że nie musimy wpisywać „WSKAZÓWKA” w kodzie HTML — ten napis zostanie dodany automatycznie przez klasę top-tip.

Są inne pseudoelementy, których można użyć w podobny sposób:

  • ::first-line stosuje regułę tylko dla pierwszego wiersza tekstu elementu <p>;
  • ::first-letter stosuje regułę tylko dla pierwszej litery elementu <p>;
  • ::after wstawia treść reguły po treści elementu <p>;
  • ::selection stosuje regułę względem tekstu zaznaczonego przez użytkownika.

A gdybyśmy chcieli dodać do elementu więcej niż jedną klasę? To proste — można ich dodać, ile dusza zapragnie. Powiedzmy, że mamy zdefiniowane dwie klasy:

  • duzyNapis jest powiązany z regułą CSS powiększającą rozmiar znaków.
  • wielkieLitery jest powiązany z regułą, która powoduje zmianę wszystkich liter na duże.

Obie te klasy możesz dodać do elementu <p>, umieszczając je w atrybucie class. Wystarczy rozdzielić je spacją:

<p class="duzyNapis wielkieLitery">Ten napis będzie większy i wyświetlony dużymi literami.</p>