Gradien

Podcast CSS - 021: Gradien

Bayangkan Anda memiliki situs untuk dibuat dan di bagian atasnya ada pengantar dengan judul, ringkasan, dan tombol. Desainer telah menyerahkan desain yang memiliki latar belakang ungu untuk pengantar ini. Satu-satunya masalah adalah latar belakang menampilkan dua bayangan ungu sebagai gradien. Bagaimana Anda melakukannya?

Latar belakang gradasi ungu gelap ke ungu dengan judul, paragraf, dan link.

Anda mungkin awalnya berpikir bahwa Anda perlu mengekspor gambar dari alat desain untuk hal ini, tetapi Anda dapat menggunakan linear-gradient sebagai gantinya.

Gradien adalah gambar dan dapat digunakan di mana pun gambar dapat digunakan, tetapi dibuat dengan CSS dan terdiri dari warna, angka, dan sudut. Gradien CSS memungkinkan Anda membuat apa pun, mulai dari gradien halus antara dua warna, hingga karya seni yang mengesankan dengan mencampur dan mengulangi beberapa gradien.

Gradien linier

Dukungan Browser

  • 26
  • 12
  • 16
  • 7

Sumber

Fungsi linear-gradient() menghasilkan gambar dua warna atau lebih, secara bertahap. Dibutuhkan beberapa argumen, tetapi dalam konfigurasinya yang paling sederhana, Anda dapat meneruskan beberapa warna seperti ini dan warna tersebut akan otomatis membaginya secara merata, sekaligus mencampurnya.

.my-element {
    background: linear-gradient(black, white);
}

Anda juga dapat meneruskan sudut atau kata kunci yang mewakili sudut. Jika Anda memilih untuk menggunakan kata kunci, tentukan arah setelah kata kunci to. Ini berarti, jika Anda menginginkan gradien yang hitam dan putih, yang berjalan dari kiri (hitam) ke kanan (putih), Anda harus menentukan sudut sebagai to right sebagai argumen pertama.

.my-element {
    background: linear-gradient(to right, black, white);
}

Nilai perhentian warna yang ditentukan di mana warna berhenti dan bercampur dengan warna tetangganya. Untuk gradien yang dimulai dengan warna merah gelap yang berjalan pada sudut 45 derajat, pada 30% ukuran gradien yang berubah menjadi merah yang lebih terang: terlihat seperti ini.

.my-element {
    background: linear-gradient(45deg, darkred 30%, crimson);
}

Anda dapat menambahkan warna dan perhentian warna sebanyak yang Anda inginkan di linear-gradient(), dan Anda dapat melapisi gradien di atas satu sama lain dengan memisahkan setiap gradien dengan koma.

Gradien radial

Dukungan Browser

  • 26
  • 12
  • 16
  • 7

Sumber

Untuk membuat gradien yang memancar secara melingkar, fungsi radial-gradient() akan membantu. Hal ini mirip dengan linear-gradient(), tetapi alih-alih menentukan sudut, Anda dapat menetapkan posisi dan bentuk akhir secara opsional. Jika Anda hanya menentukan warna, radial-gradient() akan otomatis memilih posisi sebagai center dan memilih lingkaran atau elips, bergantung pada ukuran kotak.

.my-element {
    background: radial-gradient(white, black);
}

Posisi gradien mirip dengan background-position yang menggunakan kata kunci dan/atau nilai angka. Ukuran gradien radial menentukan ukuran bentuk akhir gradien (lingkaran atau elips) dan secara default adalah farthest-corner, yang berarti sama persis dengan sudut terjauh kotak dari pusat. Anda juga dapat menggunakan kata kunci berikut:

  • closest-corner akan bertemu sudut terdekat dengan pusat gradien.
  • closest-side akan bertemu dengan sisi kotak yang paling dekat dengan pusat gradien.
  • farthest-side akan melakukan hal yang sebaliknya terhadap closest-side.

Anda dapat menambahkan perhentian warna sebanyak yang Anda inginkan, seperti dengan linear-gradient. Demikian juga, Anda juga dapat menambahkan radial-gradients sebanyak yang Anda inginkan.

Gradien kerucut

Dukungan Browser

  • 69
  • 79
  • 83
  • 12.1

Sumber

Gradien kerucut memiliki titik tengah di kotak dan dimulai dari atas (secara default), dan berputar dalam lingkaran 360 derajat.

.my-element {
    background: conic-gradient(white, black);
}

Fungsi conic-gradient() menerima argumen posisi dan sudut.

Secara default, sudutnya adalah 0 derajat yang dimulai dari bagian atas, di tengah. Jika Anda menetapkan sudut ke 45deg, sudut tersebut akan menjadi sudut kanan atas. Argumen sudut menerima semua jenis nilai sudut, seperti gradien linear dan radial.

Posisinya berada di tengah secara default. Seperti halnya gradien radial dan linear, pemosisian dapat dilakukan berdasarkan kata kunci, atau dapat ditentukan dengan nilai numerik.

Anda dapat menambahkan perhentian warna sebanyak yang Anda inginkan, seperti dengan jenis gradien lainnya. Kasus penggunaan yang baik untuk kemampuan ini, dengan gradien kerucut, adalah merender diagram lingkaran dengan CSS.

Pengulangan dan pencampuran

Setiap jenis gradien juga memiliki jenis berulang. Keduanya adalah repeating-linear-gradient(), repeating-radial-gradient(), dan repeating-conic-gradient(). Fungsi ini mirip dengan fungsi yang tidak berulang dan mengambil argumen yang sama. Perbedaannya adalah jika gradien yang ditentukan dapat diulang untuk mengisi kotak, berdasarkan kedua ukurannya, gradien akan diulang.

Jika gradien Anda tidak tampak berulang, Anda mungkin belum menetapkan panjang untuk salah satu perhentian warna. Misalnya, Anda dapat membuat latar belakang bergaris menggunakan repeating-linear-gradient dengan menetapkan panjang perhentian warna.

.my-element {
  background: repeating-linear-gradient(
    45deg,
    red,
    red 30px,
    white 30px,
    white 60px
  );
}

Anda juga dapat menggabungkan fungsi gradien pada properti background, serta menentukan gradien sebanyak yang Anda inginkan, seperti yang Anda lakukan pada gambar latar. Misalnya, Anda dapat menggabungkan beberapa gradien linear bersama-sama, atau dua gradien linear dengan gradien radial.

Referensi

Menguji pemahaman Anda

Uji pengetahuan Anda tentang gradien

Berapa jumlah minimum warna yang diperlukan untuk membuat gradien?

1
Coba lagi.
2
Keduanya bisa memiliki warna yang sama dan tampak solid, tetapi ya, diperlukan minimal 2 warna.
3
Coba lagi.
4
Coba lagi.

Elemen dapat memiliki beberapa gradien sebagai latar belakang?

Benar
Properti background-image memungkinkan banyak gradien, cukup pisahkan dengan koma.
Salah
Oh, tapi mereka bisa!