Radial gradient
radial-gradient() memadukan warna ke arah luar dari sebuah titik tengah. Seperti setiap gradien CSS, radial gradient adalah gambar, jadi ditaruh di background-image (atau shorthand background):
Sintaks lengkapnya adalah radial-gradient(shape size at position, color stops). Semua yang ada sebelum warna-warnanya bersifat opsional.
| Bagian | Nilai | Default |
|---|---|---|
| Bentuk | circle, ellipse | ellipse |
| Ukuran | closest-side, closest-corner, farthest-side, farthest-corner, atau panjang | farthest-corner |
| Posisi | at center, at top left, at 30% 70%, at 20px 40px | at center |
| Color stop | Dua warna atau lebih, masing-masing dengan posisi opsional |
Kata kunci ukuran menentukan di mana warna terakhir dicapai: di sisi terdekat kotak, di sudut terjauh, dan seterusnya. Ubah nilai-nilainya di sini dan lihat gradiennya digambar ulang:
Coba circle farthest-corner at 30% 50%, #f59e0b, #2563eb, ellipse at bottom, white, #16a34a, dan circle 40px, #f59e0b 99%, transparent (titik dengan tepi tegas).
Linear gradient
linear-gradient() memadukan warna di sepanjang garis lurus. Tulis arah atau sudut lebih dulu, lalu warna-warnanya:
Sudut dimulai dari 0deg yang menunjuk ke atas dan berputar searah jarum jam, jadi 90deg sama dengan to right dan 180deg adalah default to bottom. to right tetap bersifat fisik di halaman yang ditulis dari kanan ke kiri; balik sendiri arahnya jika gradien harus mengikuti arah baca.
Color stop dan hard stop
Setiap warna bisa punya posisi. Tanpa posisi, warna-warna diberi jarak yang sama rata. Saat dua warna berbagi posisi yang sama, perubahannya langsung, dan begitulah cara menggambar garis-garis, bendera, dan progress bar:
Sebuah stop juga bisa menerima dua posisi, #111827 12px 24px, yang menggambar pita warna pekat dari 12px sampai 24px.
Conic gradient
conic-gradient() menyapukan warna di sekeliling titik tengah, seperti jarum jam. Dengan hard stop, gradien ini menggambar diagram pai tanpa gambar atau JavaScript apa pun:
Diagram yang digambar dengan CSS tidak terlihat oleh pembaca layar, jadi tulis juga angka-angkanya dalam bentuk teks.
Teks gradien
Potong background gradien mengikuti bentuk huruf dan buat teksnya sendiri transparan:
.gradient-text {
background: linear-gradient(90deg, #2563eb, #db2777);
-webkit-background-clip: text; /* older browsers need the prefix */
background-clip: text;
color: transparent;
}
Ingat untuk menyiapkan color biasa sebagai cadangan: jika pemotongannya gagal, teksnya hilang. Teks gradien juga punya kontras yang tidak merata, jadi pakai hanya untuk heading besar.
Gradien bisa ditumpuk dengan gambar dan gradien lain dalam satu daftar background-image; halaman background image membahas lapisan, ukuran, dan posisi.
Kesalahan umum
background-color: linear-gradient(...). Gradien adalah gambar: pakaibackground-imageataubackground.- Derajat ke arah yang salah. 0deg menunjuk ke atas, bukan ke kanan.
90degmengarah ke kanan. - Gradien pada elemen tanpa tinggi. Tidak ada yang tampil; beri konten atau ukuran.
- Warna tengah yang kusam. Memadukan dua warna pekat yang berseberangan, seperti merah dan hijau, melewati abu-abu kecokelatan di sRGB. Tambahkan stop di tengah, atau padukan di ruang warna lain:
linear-gradient(in oklch, red, green). - Banding pada gradien besar yang halus. Warna yang sangat mirip di area yang luas memperlihatkan undakan; kontras yang sedikit lebih besar antar-stop membantu.
Pertanyaan yang sering diajukan
Bagaimana cara membuat radial gradient di CSS?
Pakai background-image: radial-gradient(#93c5fd, #1e3a8a);. Tambahkan bentuk dan posisi di depan warna-warnanya, misalnya radial-gradient(circle at top left, #93c5fd, #1e3a8a).
Apa perbedaan circle dan ellipse di radial-gradient?
ellipse (default) meregang mengikuti proporsi kotak, jadi melebar di kotak yang lebar. circle menjaga gradien tetap bulat apa pun bentuk kotaknya.
Bagaimana cara mengatur arah linear gradient?
Tulis arah atau sudut lebih dulu: linear-gradient(to right, red, blue) atau linear-gradient(45deg, red, blue). Default-nya to bottom (180deg); 0deg menunjuk ke atas dan sudut berputar searah jarum jam.
Bagaimana cara membuat garis-garis tegas alih-alih perpaduan yang halus?
Beri dua warna posisi stop yang sama: linear-gradient(90deg, #2563eb 50%, #f59e0b 50%) berganti warna di tengah tanpa perpaduan. repeating-linear-gradient mengulang pola dari stop seperti itu.
Bisakah saya memakai gradien sebagai background-color?
Tidak. Gradien adalah gambar, jadi ditaruh di background-image atau shorthand background. background-color: linear-gradient(...) tidak valid dan diabaikan.