Jak dodać linię poziomą
Umieść <hr> między dwoma blokami treści. Nie ma znacznika zamykającego:
Domyślnie linia ma całą szerokość kontenera, mały margines nad i pod sobą i jest rysowana jako cienkie szare obramowanie inset (jasna i ciemna krawędź).
<hr> to skrót od horizontal rule, czyli linia pozioma. W HTML oznacza przerwę tematyczną: zmianę tematu lub sceny w obrębie sekcji. Czytniki ekranu ogłaszają ją jako separator. Jeśli chcesz tylko dekoracyjnej linii (pod nagłówkiem, wokół karty), narysuj ją zamiast tego obramowaniem CSS na tym elemencie.
Stylowanie hr w CSS
Domyślny wygląd pochodzi z obramowań, więc niezawodny sposób na stylizowanie <hr> to usunięcie ich i narysowanie jednego obramowania samodzielnie:
| Co zmienić | Czego użyć |
|---|---|
| Kolor | border-top: 2px solid #2563eb (po border: none) |
| Grubość | Szerokość w tym obramowaniu, np. 6px |
| Styl | solid, dashed, dotted, double |
| Długość | width: 40% plus margin-inline: auto, żeby ją wyśrodkować |
| Zaokrąglone końce | height + background + border-radius zamiast obramowania |
| Odstęp wokół | margin |
Samo ustawienie color: blue na hr zmienia linię w obecnych przeglądarkach, ale domyślny styl inset ją cieniuje, a ona zachowuje wysokość 2px. Zresetowanie obramowania daje dokładnie to, o co prosisz.
Stare atrybuty hr
Stary kod używa atrybutów na samym znaczniku:
<hr size="4" width="50%" color="red" noshade align="left">
size, width, color, noshade i align są przestarzałe. Przeglądarki nadal je stosują, żeby stare strony dobrze wyglądały, ale to niepoprawny HTML, który trudniej potem zmienić. Zastąp je powyższym CSS.
Separator z tekstem pośrodku
Linia "lub" między dwoma przyciskami logowania to nie <hr> (hr nie może zawierać tekstu). To rząd flex z linią narysowaną po obu stronach słowa:
Dwa elementy ::before i ::after zajmują po połowie wolnego miejsca dzięki flex: 1 i rysują górne obramowanie. Zmień or na dłuższe słowo, a linie skrócą się, żeby się zmieścić.
Linie pionowe
Nie ma pionowej wersji <hr>. Linię pionową narysujesz obramowaniem z jednej strony elementu albo cienkim elementem w rzędzie flex:
border-inline-start umieszcza linię na początku tekstu, czyli po lewej w polskim i po prawej w arabskim czy hebrajskim, więc układ działa w obu kierunkach.
Częste błędy
- Pisanie
</hr>.<hr>to element pusty. Wystarczy<hr>lub<hr />. - Używanie
<hr>do dekoracji. Czytniki ekranu ogłaszają każdy. Linia czysto wizualna należy do CSS. - Stylowanie samym
color. Zresetuj obramowanie przezborder: nonei ustawborder-top. - Rysowanie linii przez
<br>lub podkreślniki. Użyj<hr>lub obramowania. Do czego służy<br>, opisuje strona o łamaniu linii. - Przestarzałe atrybuty. Przenieś
size,width,colorinoshadedo CSS.
Najczęściej zadawane pytania
Jak dodać linię poziomą w HTML?
Użyj znacznika <hr> w osobnej linii. To element pusty bez znacznika zamykającego, który rysuje linię na całą szerokość swojego kontenera.
Jak zmienić kolor hr?
Usuń domyślne obramowanie i narysuj własne: hr { border: none; border-top: 2px solid #2563eb; }. Samo ustawienie color też go zmienia, ale domyślny styl inset zostawia cieniowanie w dwóch odcieniach.
Jak pogrubić hr?
Ustaw szerokość obramowania: hr { border: none; border-top: 4px solid #111827; }. Atrybut size ze starych poradników nadal działa w przeglądarkach, ale jest przestarzały, więc używaj CSS.
Co oznacza skrót hr?
Horizontal rule, czyli linia pozioma. W obecnym HTML oznacza przerwę tematyczną: zmianę tematu lub sceny między akapitami. Czytniki ekranu ogłaszają ją jako separator.
Jak zrobić linię pionową w HTML?
HTML nie ma znacznika linii pionowej. Dodaj obramowanie z jednej strony elementu, np. border-inline-start: 2px solid #e5e7eb, albo użyj wąskiego elementu z kolorem tła w rzędzie flex.