Website portofolio adalah etalase digital yang memperlihatkan karya dan kemampuanmu kepada dunia. Namun, di tengah lautan website yang terlihat serupa, bagaimana cara membuat portofoliomu menonjol dan berkesan? Salah satu caranya adalah dengan menggunakan efek cosmic—tampilan latar belakang yang menyerupai ruang angkasa dengan bintang-bintang dan nebula yang bergerak.
Dalam tutorial ini, kita akan membangun website portofolio dengan efek cosmic menggunakan HTML, CSS, dan sedikit JavaScript. Efek ini tidak hanya membuat website terlihat profesional, tetapi juga menciptakan pengalaman visual yang imersif bagi pengunjung.
Mengapa Efek Cosmic?
Sebelum kita mulai coding, mari pahami mengapa efek cosmic begitu efektif untuk website portofolio:
- Visual yang Menenangkan: Gradasi gelap dengan titik-titik cahaya menciptakan atmosfer yang tenang namun misterius
- Kesan Teknologi: Efek ruang angkasa secara psikologis dikaitkan dengan inovasi dan teknologi canggih
- Fleksibel: Warna-warna gelap membuat konten utama (teks dan gambar) lebih mudah dibaca
- Performa Baik: Bisa dibuat sepenuhnya dengan CSS tanpa gambar berat
Langkah 1: Struktur HTML Dasar
Pertama, kita buat struktur HTML yang bersih dan semantic. Pemisahan yang baik antara struktur (HTML), tampilan (CSS), dan interaksi (JavaScript) adalah kunci website yang maintainable.
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Portofolio Cosmic</title>
</head>
<body>
<div class="cosmic-bg">
<div class="stars-far"></div>
<div class="stars-near"></div>
<div class="nebula"></div>
</div>
<main class="content">
<h1>Hello, I'm Developer</h1>
<p>Welcome to my cosmic portfolio</p>
</main>
</body>
</html>
Langkah 2: Membuat Efek Bintang dengan CSS
Rahasia efek bintang yang realistis terletak pada penggunaan radial-gradient dan background-size. Kita akan membuat tiga lapisan bintang dengan ukuran dan kecepatan berbeda untuk menciptakan efek parallax.
.stars-far {
position: fixed;
inset: 0;
background-image:
radial-gradient(1px 1px at 20px 30px, #fff, transparent),
radial-gradient(1px 1px at 50px 100px, rgba(255,255,255,0.8), transparent),
radial-gradient(1px 1px at 130px 80px, #fff, transparent);
background-size: 200px 200px;
animation: twinkle 3s ease-in-out infinite;
}
@keyframes twinkle {
0%, 100% { opacity: 0.5; }
50% { opacity: 1; }
}
Trik Penting: Multiple Background Layers
Gunakan multiple background layers dengan background-size yang berbeda-beda. Ini menciptakan variasi yang organik—seperti bintang di alam semesta yang memang tersebar secara acak.
đź’ˇ Pro Tips
- Gunakan warna putih dengan opacity berbeda (0.5-1.0) untuk kedalaman
- Background size yang lebih besar = bintang lebih tersebar
- Tambahkan
will-change: transformuntuk animasi yang lebih smooth
Langkah 3: Efek Nebula dengan Gradient
Nebula adalah awan gas dan debu di ruang angkasa yang memiliki warna-warna indah. Kita bisa mereplikasi efek ini menggunakan CSS gradient yang blur.
.nebula {
position: fixed;
inset: 0;
background:
radial-gradient(circle at 20% 30%,
rgba(111, 199, 255, 0.4),
transparent 50%),
radial-gradient(circle at 80% 70%,
rgba(141, 109, 255, 0.3),
transparent 50%);
filter: blur(40px);
animation: nebulaMove 20s ease-in-out infinite;
}
@keyframes nebulaMove {
0%, 100% { transform: translate(0, 0); }
50% { transform: translate(-20px, 20px); }
}
Langkah 4: Parallax dengan Mouse Movement
Sekarang kita tambahkan interaktivitas! Dengan JavaScript, kita bisa membuat lapisan bintang bergerak sedikit mengikuti cursor mouse—menciptakan efek 3D yang halus.
document.addEventListener('mousemove', (e) => {
const x = e.clientX / window.innerWidth - 0.5;
const y = e.clientY / window.innerHeight - 0.5;
document.documentElement.style.setProperty('--mx', x);
document.documentElement.style.setProperty('--my', y);
});
// CSS
.stars-near {
transform: translate(
calc(var(--mx) * 20px),
calc(var(--my) * 20px)
);
}
Langkah 5: Optimasi Performa
Efek visual yang indah tidak berarti jika website menjadi lambat. Berikut beberapa teknik optimasi yang krusial:
Gunakan GPU Acceleration
Properti transform dan opacity di-render oleh GPU, membuat animasi jauh lebih smooth daripada mengubah properti seperti top atau left.
Reduce Motion untuk Accessibility
Selalu pertimbangkan pengguna yang sensitif terhadap gerakan. Gunakan media query prefers-reduced-motion:
@media (prefers-reduced-motion: reduce) {
.stars-far, .stars-near, .nebula {
animation: none;
}
}
🎯 Checklist Optimasi
- âś… Gunakan
will-changesecara selektif - âś… Limit jumlah partikel/bintang (max 100-150)
- âś… Gunakan
contain: layoutuntuk isolasi render - âś… Test di device low-end
Kesimpulan
Dengan kombinasi CSS gradients, animations, dan JavaScript sederhana, kita bisa menciptakan efek cosmic yang memukau untuk website portofolio. Yang terpenting adalah keseimbangan antara estetika dan performa—efek yang indah tidak boleh mengorbankan kecepatan loading dan pengalaman pengguna.
Efek cosmic ini cocok untuk berbagai jenis website: portofolio developer, landing page produk teknologi, hingga website personal brand. Yang perlu diingat adalah konten tetap menjadi raja—efek visual hanyalah cara untuk menyajikan konten dengan lebih menarik.
🚀 Lihat Proyek Lainnya
Temukan lebih banyak eksperimen digital, game, dan aplikasi di Studio Rhadzor.
Jelajahi Studio →Punya pertanyaan atau ingin berbagi hasil eksperimen cosmic-mu? Hubungi saya melalui sosial media atau kunjungi studio.rhadzor.id