Menu

Text Shadow CSS: Sintaks, Glow, Outline dan Contoh

text-shadow menggambar satu atau beberapa bayangan di belakang teks. Pelajari keempat nilainya (offset x, offset y, blur, warna), cara menumpuk bayangan untuk efek glow, outline, dan 3D, serta cara memakai bayangan agar teks tetap mudah dibaca di atas latar yang ramai.

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

Cara kerja text-shadow

text-shadow menggambar salinan teks di belakangnya, digeser dan dikaburkan. Kamu memberinya offset horizontal, offset vertikal, blur yang opsional, dan sebuah warna.

3px 3px 0 #f59e0b berarti 3px ke kanan (secara fisik, di arah tulisan apa pun), 3px ke bawah, tanpa blur, berwarna kuning. Bayangan kedua dikaburkan 6px dan memakai hitam semi-transparan, resep yang umum untuk efek kedalaman yang halus.

Sintaks

text-shadow: <offset-x> <offset-y> <blur-radius>? <color>?;
NilaiWajibArti
offset-xYaPositif menggeser bayangan ke kanan, negatif ke kiri
offset-yYaPositif menggesernya ke bawah, negatif ke atas
blur-radiusTidak (default 0)Seberapa lembut tepinya, nilai negatif tidak valid
colorTidak (default warna teks)Bisa ditulis di awal atau di akhir

text-shadow: none menghapus bayangan yang diwariskan. Ubah nilai-nilai di bawah untuk melihat efek masing-masing:

Coba -4px -4px 0 #16a34a, 0 0 10px red, dan dua bayangan yang dipisahkan koma.

Beberapa bayangan: glow, outline, dan 3D

Koma menumpuk bayangan, dan bayangan pertama digambar paling atas. Tiga efek berasal dari satu aturan itu:

  • Glow: offset nol, blur yang makin besar, di atas latar gelap.
  • Outline: empat bayangan tegas, satu untuk setiap arah diagonal. Cara ini cocok untuk outline tipis. Untuk outline yang lebih tebal dan rata, -webkit-text-stroke: 2px #111827 (didukung di semua browser versi terbaru meskipun memakai prefix) menggambar garis di tepi huruf.
  • 3D: serangkaian bayangan tegas yang masing-masing bergeser 1px lebih jauh, sehingga hurufnya terlihat timbul.

Menjaga teks tetap terbaca di atas latar yang ramai

Teks putih di atas foto atau pola kehilangan tepinya di bagian latar yang terang. Bayangan gelap yang lembut mengembalikan tepinya tanpa kotak yang terlihat:

Bayangan memang membantu, tetapi tidak menjamin kontras. Untuk teks panjang di atas gambar, tambahkan juga lapisan warna solid atau gradien di belakang teksnya.

text-shadow vs box-shadow

text-shadowbox-shadow
MengikutiBentuk hurufKotak elemen (dan border radius-nya)
Nilai spreadTidakYa
insetTidakYa
Beberapa sekaligus, dipisahkan komaYaYa

Untuk bayangan pada kartu dan tombol, lihat box-shadow.

Kesalahan yang sering terjadi

  • Bayangan tebal dan gelap pada teks paragraf. Bayangan seperti itu mengaburkan bentuk huruf. Pakai bayangan untuk judul dan label pendek saja.
  • Lupa offset kedua. text-shadow: 2px #000 tidak valid, karena kedua offset wajib ada.
  • Blur negatif. Nilai ini tidak valid, dan seluruh deklarasinya dibuang.
  • Mengira bayangan memakan ruang. Bayangan hanya digambar, jadi bayangan besar bisa menimpa baris berikutnya atau terpotong oleh overflow: hidden.
  • Efek glow di atas latar terang. Glow terang di atas putih tidak terlihat. Glow butuh latar yang gelap.

Pertanyaan yang sering diajukan

Bagaimana sintaks text-shadow?

text-shadow: offset-x offset-y blur-radius color;, misalnya text-shadow: 2px 2px 4px rgb(0 0 0 / 40%);. Kedua offset wajib diisi, blur default-nya 0, dan warna default-nya mengikuti warna teks.

Bagaimana cara menambahkan lebih dari satu text shadow?

Pisahkan bayangannya dengan koma: text-shadow: 0 0 4px #fff, 0 0 12px #2563eb;. Bayangan pertama digambar di atas bayangan-bayangan setelahnya.

Bagaimana cara membuat efek glow pada teks?

Pakai bayangan tanpa offset dengan blur, sering kali beberapa bayangan dengan blur yang makin besar: text-shadow: 0 0 4px #60a5fa, 0 0 12px #2563eb;. Di atas latar gelap, hasilnya terlihat seperti cahaya neon.

Apakah text-shadow punya nilai spread seperti box-shadow?

Tidak. text-shadow tidak punya spread dan tidak punya kata kunci inset. Untuk menebalkan bayangan di sekitar huruf, tumpuk beberapa bayangan atau pakai -webkit-text-stroke untuk outline.

Apakah text-shadow memengaruhi layout?

Tidak. Bayangannya hanya digambar, tidak memakan ruang dan tidak menggeser konten di sekitarnya, jadi bayangan yang besar bisa menimpa elemen di dekatnya.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai