Efek latar belakang yang dinamis dapat memberikan kesan visual yang kuat dan profesional pada sebuah website. Salah satu teknik yang sering digunakan adalah background gradient bergerak dengan menggunakan murni CSS — tanpa perlu JavaScript sama sekali. Dengan animasi gradient CSS, kamu bisa menciptakan tampilan yang menarik seperti perubahan warna yang lembut, pergeseran arah gradien, hingga efek ‘looping’ yang halus yang terus bergerak di latar belakang.
Dalam artikel “Membuat Efek Gradient Bergerak Menggunakan CSS”, kamu akan belajar secara mendalam bagaimana cara membuat animasi gradient bergerak di CSS, mulai dari konsep dasar css gradient — baik linear gradient CSS maupun radial gradient CSS — hingga ke teknik lanjutan seperti @keyframes, manipulasi background-position, background-size, dan penggunaan unit persentase serta durasi untuk menghasilkan efek latar belakang yang benar-benar bergerak.
Daftar isi
- Apa Itu Gradient di CSS?
- Kenapa Menggunakan Efek Gradient Bergerak?
- Persiapan Dasar: Struktur HTML dan CSS
- Membuat Animasi Gradient Bergerak dengan Keyframes
- Variasi Efek Gradient: Linear vs Radial
- Kombinasi Properti untuk Efek Dinamis
- Langkah-langkah Membuat Efek Gradient Bergerak di CSS
- Contoh Kode Lengkap untuk Hero Section
- Referensi dan Teknik Tambahan
- Kesimpulan
Baca juga: Tutorial Membuat Loading Animation dengan CSS
Apa Itu Gradient di CSS?
Sebelum kita membahas bagaimana membuat efek bergerak, mari kita pahami dasar-dasarnya.
CSS Gradient — Definisi
css gradient adalah tipe gambar (image type) dalam CSS yang memungkinkan transisi antara dua warna atau lebih secara halus. Dalam praktiknya, gradien dapat digunakan sebagai latar belakang (background-image) elemen. :contentReference[oaicite:0]{index=0}
Dua jenis yang paling umum:
- Linear gradient: perubahan warna sejajar garis lurus.
- Radial gradient: perubahan warna dari titik tengah ke luar secara melingkar.
Contoh sederhana:
.element {
background: linear-gradient(45deg, #ff512f, #dd2476);
}Code language: CSS (css)
Kenapa Menggunakan Efek Gradient Bergerak?
Mengapa kita tidak cukup dengan gradient statis? Berikut beberapa alasan:
- Efek visual menjadi lebih hidup dan menarik.
- Memberikan impresi modern dan dinamis pada tampilan web.
- Efek seperti animasi gradien background CSS meningkatkan daya tarik tanpa banyak beban koding.
- Karena menggunakan CSS murni, kinerjanya relatif ringan dibanding menggunakan video atau JavaScript.
Persiapan Dasar: Struktur HTML dan CSS
Mari kita mulai dengan struktur HTML sederhana:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Efek Gradient Bergerak CSS</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<section class="hero-gradient">
<h1>Selamat Datang</h1>
<p>Mempelajari efek gradient bergerak dengan CSS.</p>
</section>
</body>
</html>Code language: HTML, XML (xml)
Kemudian CSS dasar:
body, html {
margin: 0;
padding: 0;
height: 100%;
}
.hero-gradient {
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
text-align: center;
background: linear-gradient(90deg, #ff512f, #dd2476, #ff512f);
background-size: 300% 300%;
}Code language: CSS (css)
Kode di atas sudah membuat dasar latar belakang gradien yang berubah berdasarkan ukuran latar. Selanjutnya yang akan kita lakukan adalah membuatnya bergerak menggunakan @keyframes.
Berikut ini adalah hasil visualnya.

Membuat Animasi Gradient Bergerak dengan Keyframes
Untuk membuat gerakan pada gradien, kita akan mengubah background-position atau background-size dengan @keyframes.
Contoh kode:
@keyframes gradientMove {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.hero-gradient {
animation: gradientMove 15s ease infinite;
}Code language: CSS (css)
Penjelasan: efek gradien akan bergerak dari kiri ke kanan dan kembali, dengan durasi 15s. Teknik ini sudah banyak dibahas dalam literatur tentang animasi gradient.
Variasi Efek Gradient: Linear vs Radial
Linear Gradient Bergerak
.hero-linear {
background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
background-size: 400% 400%;
animation: gradientLinear 20s ease infinite;
}
@keyframes gradientLinear {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}Code language: CSS (css)
Radial Gradient Bergerak
.hero-radial {
background: radial-gradient(circle at center, #1e3c72, #2a5298, #4e79f2);
animation: gradientRadial 25s ease infinite alternate;
}
@keyframes gradientRadial {
0% { background-size: 100% 100%; }
50% { background-size: 150% 150%; }
100% { background-size: 100% 100%; }
}Code language: CSS (css)
Kombinasi Properti untuk Efek Dinamis
Untuk kesan yang lebih “bergerak nyata”, kamu bisa memadukan background-position, background-size, dan transform atau filter.
Contoh:
.dynamic-gradient {
background: linear-gradient(45deg, #ff9a9e, #fad0c4, #fad0c4, #ffd1ff);
background-size: 600% 600%;
animation: dynamicMove 30s ease infinite;
}
@keyframes dynamicMove {
0% { background-position: 0% 50%; }
25% { background-position: 50% 100%; }
50% { background-position: 100% 50%; }
75% { background-position: 50% 0%; }
100% { background-position: 0% 50%; }
}Code language: CSS (css)
Langkah-langkah Membuat Efek Gradient Bergerak di CSS
- Pilih jenis gradient:
linearatauradial. - Tentukan arah dan warna-warna yang akan diubah.
- Atur
background-sizecukup besar (misalnya 400% 400%) agar efek pergeseran terlihat halus. - Tulis
@keyframesuntuk mengubahbackground-position, ataubackground-sizeuntuk efek zoom. - Tambahkan
animation: namaAnimasi durasi fungsi-timing infinite;. - Uji pada berbagai perangkat untuk memastikan responsif.
Contoh Kode Lengkap untuk Hero Section
HTML:
<section class="hero-section">
<h1>Efek Gradient Bergerak CSS</h1>
<p>Panduan lengkap untuk membuat latar belakang bergerak dengan murni CSS.</p>
</section>Code language: HTML, XML (xml)
CSS:
.hero-section {
height: 90vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background: linear-gradient(120deg, #84fab0, #8fd3f4, #a1c4fd);
background-size: 300% 300%;
animation: heroGradient 18s ease infinite;
text-align: center;
color: #fff;
padding: 0 20px;
}
@keyframes heroGradient {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}Code language: CSS (css)
Referensi dan Teknik Tambahan
- Kamu bisa menggunakan
background-clip: textuntuk membuat efek gradien bergerak pada teks. - Performa: Hindari
background-positionjika memungkinkan karena bisa memicu repaint yang berat; alternatif bisa transform pada elemen pseudo-layer yang ukurannya lebih besar. - Generator gradient seperti cssgradient.io membantu menghasilkan kode gradien dasar.
Kesimpulan
Efek gradient bergerak menggunakan CSS adalah cara elegan untuk membuat tampilan web lebih hidup tanpa menggunakan JavaScript maupun asset grafis besar. Dengan memahami teknik:
- css linear gradient & css radial gradient
@keyframesuntuk animasibackground-size,background-position, dananimationproperti
Kamu bisa menciptakan background dinamis yang memikat pengguna sejak pertama kali membuka halaman.
Semoga panduan ini membantumu membuat efek visual yang tidak hanya menarik secara estetika, tetapi juga ringan dan responsif untuk semua perangkat.
Selamat bereksperimen dan menciptakan desain yang unik dengan CSS gradient animasi!
