Cara membuat teks rata tengah di HTML
Pakai property CSS text-align: center di elemen yang berisi teksnya:
text-align menengahkan setiap baris di dalam elemen, termasuk konten inline seperti link, gambar, dan tombol. Property ini diwariskan, jadi mengaturnya di sebuah container akan menengahkan teks di semua elemen di dalamnya.
Taruh di blok, bukan di span
text-align bekerja di container blok: <p>, <div>, heading, sel tabel. Di <span> atau <a> property ini tidak berpengaruh, karena elemen inline hanya selebar teksnya dan tidak ada ruang untuk menengahkan:
Perbaikannya selalu sama: pindahkan text-align: center ke blok induknya.
Blok di tengah, baris rata awal
Untuk paragraf yang terdiri dari beberapa baris, teks yang sepenuhnya rata tengah sulit dibaca karena setiap baris dimulai di tempat yang berbeda. Pola yang umum adalah menengahkan blok-nya di halaman dan membiarkan teksnya rata ke awal:
margin-inline: auto menengahkan blok yang punya lebar, text-align menengahkan baris di dalamnya. Menengahkan kotak (dengan flexbox, grid, atau margin) dibahas di halaman menengahkan div.
Menengahkan teks secara vertikal
text-align hanya bekerja secara horizontal. Untuk menengahkan teks secara vertikal di dalam kotak, jadikan kotaknya flex container:
align-items: center menengahkan secara vertikal, justify-content: center menengahkan secara horizontal, dan text-align: center tetap menengahkan baris-baris teks satu sama lain saat ada beberapa baris. Trik line-height hanya berlaku untuk satu baris teks di kotak yang tingginya sudah diketahui.
Semua nilai text-align
| Nilai | Hasil |
|---|---|
start (default) | Baris dimulai di sisi awal: kiri untuk bahasa Inggris, kanan untuk bahasa Arab dan Ibrani |
end | Baris berakhir di sisi akhir |
center | Baris di tengah |
justify | Baris diregangkan sampai menyentuh kedua sisi (kecuali baris terakhir) |
left, right | Selalu kiri atau selalu kanan, apa pun bahasanya |
Pilih start dan end daripada left dan right: keduanya otomatis terbalik untuk bahasa yang ditulis dari kanan ke kiri, seperti yang ditunjukkan kotak terakhir.
Tag center yang lama
Halaman lama menengahkan teks dengan <center> atau dengan atribut align:
<center>Old way</center>
<p align="center">Also old</p>
Keduanya sudah usang. Browser masih menampilkannya supaya situs lama tidak rusak, tapi keduanya tidak valid di HTML saat ini dan mencampur tata letak ke dalam markup. Pakai text-align: center di CSS.
Indentasi teks
HTML tidak punya tag indentasi, dan spasi yang diketik akan diringkas (lihat spasi di HTML). Indentasi dibuat dengan CSS:
| Indentasi | CSS |
|---|---|
| Hanya baris pertama | text-indent: 2em |
| Seluruh blok | padding-inline-start: 2em atau margin-inline-start: 2em |
| Menggantung (baris pertama menjorok keluar) | padding-inline-start: 2em; text-indent: -2em |
em mengikat indentasi ke ukuran font, jadi ukurannya ikut berubah bersama teks.
Kesalahan umum
text-aligndi elemen inline. Taruh di blok induknya.- Berharap
text-alignmenengahkan sebuah kotak. Property ini menengahkan teks dan konten inline, bukan blok yang punya lebar. Pakaimargin-inline: autoatau flexbox untuk kotak. - Memakai
<center>ataualign="center". Sudah usang. Pakai CSS. - Menengahkan paragraf panjang. Tengahkan heading dan baris pendek; biarkan teks isi rata ke awal.
- Membuat indentasi dengan
atau spasi. Pakaitext-indentatau padding.
Pertanyaan yang sering diajukan
Bagaimana cara membuat teks rata tengah di HTML?
Tambahkan text-align: center ke elemen yang berisi teksnya, misalnya <p style="text-align: center"> atau aturan CSS seperti h1 { text-align: center; }. Property ini menengahkan setiap baris teks dan konten inline di dalam elemen itu.
Kenapa text-align: center tidak berfungsi di span-ku?
Span adalah elemen inline, jadi lebarnya hanya sepanjang teksnya dan tidak ada ruang untuk menengahkan. Taruh text-align: center di blok induknya (<p> atau <div> di sekitarnya), atau jadikan span itu display: block.
Bagaimana cara menengahkan teks secara vertikal?
Jadikan container-nya flex box: display: flex; align-items: center; (tambahkan justify-content: center untuk sekaligus menengahkan secara horizontal). Untuk satu baris di kotak dengan tinggi tetap, line-height yang sama dengan tingginya juga bisa.
Apakah tag <center> masih valid?
Tidak. <center> dan atribut align="center" sudah usang. Browser masih menampilkannya demi halaman lama, tapi kode baru harus memakai text-align: center di CSS.
Bagaimana cara membuat indentasi teks di HTML?
Pakai CSS. text-indent: 2em membuat indentasi di baris pertama paragraf, dan padding-inline-start: 2em atau margin-inline-start: 2em membuat indentasi di seluruh blok. Spasi atau di dalam teks bukan cara indentasi yang bisa diandalkan.