Menu

Garis Horizontal HTML: Tag hr dan Cara Memberinya Gaya

Buat garis horizontal di HTML dengan tag <hr>. Pelajari maknanya, cara mengubah warna, ketebalan, lebar, dan gayanya dengan CSS, cara membuat pemisah dengan teks di tengah, dan cara membuat garis vertikal.

Halaman ini dilengkapi editor yang bisa dijalankan. Edit, jalankan, dan lihat output-nya seketika.

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 mengubahPakai
Warnaborder-top: 2px solid #2563eb (setelah border: none)
KetebalanLebar di border itu, seperti 6px
Gayasolid, dashed, dotted, double
Panjangwidth: 40%, ditambah margin-inline: auto untuk menengahkannya
Ujung membulatheight + background + border-radius, bukan border
Jarak di sekitarnyamargin

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 dengan border: none lalu atur border-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, color dan noshade ke 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.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai