Menu

Radial Gradient CSS, Linear dan Conic Gradient

Gradien CSS adalah gambar yang digambar browser dari warna-warna. Pelajari radial-gradient (bentuk, ukuran, posisi), linear-gradient (arah dan sudut), conic-gradient, color stop, hard stop untuk garis-garis, gradien berulang, dan teks gradien.

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

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.

BagianNilaiDefault
Bentukcircle, ellipseellipse
Ukuranclosest-side, closest-corner, farthest-side, farthest-corner, atau panjangfarthest-corner
Posisiat center, at top left, at 30% 70%, at 20px 40pxat center
Color stopDua 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: pakai background-image atau background.
  • Derajat ke arah yang salah. 0deg menunjuk ke atas, bukan ke kanan. 90deg mengarah 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.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai