Cara menambahkan garis horizontal
Taruh <hr> di antara dua blok konten. Tag ini tidak punya tag penutup:
Secara default, garisnya membentang selebar container-nya, punya margin kecil di atas dan di bawah, dan digambar sebagai border inset abu-abu yang tipis (satu sisi terang dan satu sisi gelap).
<hr> adalah singkatan dari horizontal rule. Di HTML, hr berarti jeda tematik: pergantian topik atau adegan di dalam sebuah bagian. Screen reader mengumumkannya sebagai pemisah. Kalau kamu hanya ingin garis hiasan (di bawah heading, di sekeliling kartu), gambar dengan border CSS di elemen itu.
Memberi gaya hr dengan CSS
Tampilan default-nya berasal dari border, jadi cara yang bisa diandalkan untuk memberi gaya <hr> adalah menghapus border-nya lalu menggambar satu border sendiri:
| Untuk mengubah | Pakai |
|---|---|
| Warna | border-top: 2px solid #2563eb (setelah border: none) |
| Ketebalan | Lebar di border itu, seperti 6px |
| Gaya | solid, dashed, dotted, double |
| Panjang | width: 40%, ditambah margin-inline: auto untuk menengahkannya |
| Ujung membulat | height + background + border-radius, bukan border |
| Jarak di sekitarnya | margin |
Mengatur color: blue saja di hr memang mengubah garisnya di browser saat ini, tapi gaya inset default-nya memberinya bayangan dan tingginya tetap 2px. Mengatur ulang border-nya memberimu persis apa yang kamu minta.
Atribut hr yang lama
Kode lama memakai atribut di tag-nya langsung:
<hr size="4" width="50%" color="red" noshade align="left">
size, width, color, noshade dan align sudah usang. Browser masih menerapkannya supaya halaman lama terlihat benar, tapi semuanya HTML yang tidak valid dan lebih sulit diubah nanti. Ganti dengan CSS di atas.
Pemisah dengan teks di tengah
Garis "atau" di antara dua tombol masuk bukanlah <hr> (hr tidak bisa berisi teks). Garis itu adalah baris flex dengan garis yang digambar di kedua sisi kata:
Dua potongan ::before dan ::after masing-masing mengambil setengah ruang kosong dengan flex: 1 dan menggambar border atas. Ganti or dengan kata yang lebih panjang dan garisnya menyusut menyesuaikan.
Garis vertikal
Tidak ada versi vertikal dari <hr>. Gambar garis vertikal dengan border di salah satu sisi elemen, atau dengan elemen tipis di dalam baris flex:
border-inline-start menaruh garis di awal teks, yaitu di kiri untuk bahasa Inggris dan di kanan untuk bahasa Arab atau Ibrani, jadi layout-nya berfungsi di kedua arah.
Kesalahan umum
- Menulis
</hr>.<hr>adalah elemen void.<hr>atau<hr />sudah cukup. - Memakai
<hr>sebagai hiasan. Screen reader mengumumkan setiap hr. Garis yang hanya untuk tampilan seharusnya dibuat dengan CSS. - Memberi gaya hanya dengan
color. Atur ulang border denganborder: nonelalu aturborder-top. - Memakai
<br>atau garis bawah untuk menggambar garis. Pakai<hr>atau border. Lihat baris baru untuk kegunaan<br>. - Memakai atribut yang sudah usang. Pindahkan
size,width,colordannoshadeke CSS.
Pertanyaan yang sering diajukan
Bagaimana cara menambahkan garis horizontal di HTML?
Pakai tag <hr> di barisnya sendiri. Tag ini adalah elemen void tanpa tag penutup, dan menggambar garis selebar container-nya.
Bagaimana cara mengubah warna hr?
Hapus border default-nya lalu gambar border sendiri: hr { border: none; border-top: 2px solid #2563eb; }. Mengatur color saja juga mengubahnya, tapi gaya inset default-nya membuat garis tetap berbayang dan dua warna.
Bagaimana cara membuat hr lebih tebal?
Atur lebar border-nya: hr { border: none; border-top: 4px solid #111827; }. Atribut size dari tutorial lama masih berfungsi di browser tapi sudah usang, jadi pakai CSS.
hr singkatan dari apa?
Horizontal rule. Di HTML saat ini, hr berarti jeda tematik: pergantian topik atau adegan di antara paragraf. Screen reader mengumumkannya sebagai pemisah.
Bagaimana cara membuat garis vertikal di HTML?
HTML tidak punya tag garis vertikal. Tambahkan border di salah satu sisi elemen, seperti border-inline-start: 2px solid #e5e7eb, atau pakai elemen sempit dengan warna background di dalam baris flex.