Menu

Teks Rata Tengah HTML: text-align, Vertikal dan Indentasi

Buat teks rata tengah di HTML dengan property CSS text-align: center. Pelajari di mana menaruhnya, kenapa tidak berfungsi di span, cara menengahkan teks secara vertikal di dalam kotak, cara meratakan teks ke awal, akhir, atau kedua sisi, dan cara membuat indentasi paragraf.

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

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

NilaiHasil
start (default)Baris dimulai di sisi awal: kiri untuk bahasa Inggris, kanan untuk bahasa Arab dan Ibrani
endBaris berakhir di sisi akhir
centerBaris di tengah
justifyBaris diregangkan sampai menyentuh kedua sisi (kecuali baris terakhir)
left, rightSelalu 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:

IndentasiCSS
Hanya baris pertamatext-indent: 2em
Seluruh blokpadding-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-align di elemen inline. Taruh di blok induknya.
  • Berharap text-align menengahkan sebuah kotak. Property ini menengahkan teks dan konten inline, bukan blok yang punya lebar. Pakai margin-inline: auto atau flexbox untuk kotak.
  • Memakai <center> atau align="center". Sudah usang. Pakai CSS.
  • Menengahkan paragraf panjang. Tengahkan heading dan baris pendek; biarkan teks isi rata ke awal.
  • Membuat indentasi dengan &nbsp; atau spasi. Pakai text-indent atau 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 &nbsp; di dalam teks bukan cara indentasi yang bisa diandalkan.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai