Efek visual adalah salah satu elemen penting dalam desain web modern. Salah satu fitur menarik yang disediakan CSS adalah CSS filter — sebuah properti yang memungkinkan kamu untuk mengubah tampilan elemen seperti gambar, video, atau bahkan teks tanpa perlu mengedit file aslinya.
Dalam artikel ini, kita akan membahas secara lengkap tutorial CSS filter, termasuk cara menggunakan berbagai jenis filter seperti blur, brightness, contrast, dan lainnya. Kamu juga akan belajar bagaimana menggabungkan beberapa filter sekaligus serta cara membuat efek hover menggunakan filter CSS.
Daftar isi
- Apa Itu CSS Filter?
- Daftar Filter CSS yang Sering Digunakan
- Efek Blur dengan CSS Filter
- Mengatur Kecerahan dengan Brightness CSS
- Meningkatkan Kontras dengan Contrast CSS
- Mengubah Gambar Menjadi Hitam Putih dengan Grayscale
- Efek Sepia untuk Tampilan Vintage
- Mengatur Warna dengan Saturate dan Hue-Rotate
- Efek Bayangan dengan Drop-Shadow
- Menggabungkan Beberapa Filter Sekaligus
- Membuat Efek Hover dengan Filter CSS
- Filter pada Elemen Non-Gambar
- CSS Backdrop Filter untuk Efek Transparansi
- Animasi Filter CSS
- Filter SVG dan CSS Filter
- Performa CSS Filter
- Kombinasi Filter untuk Efek Sinematik
- Studi Kasus: Efek Blur Latar Belakang Konten
- CSS Filter untuk Desain Interaktif Web
- Kesimpulan
Baca juga: Cara Membuat Efek Parallax Scrolling dengan CSS
Apa Itu CSS Filter?
Filter CSS adalah properti yang digunakan untuk menerapkan efek visual seperti blur (kabur), brightness (kecerahan), contrast (kontras), grayscale (hitam putih), dan banyak lagi pada elemen HTML.
Dengan properti ini, kamu bisa menciptakan tampilan dinamis dan artistik langsung dari CSS tanpa memerlukan editor grafis seperti Photoshop.
Sintaks dasarnya sangat sederhana:
filter: function(value);Code language: PHP (php)
Contohnya:
img {
filter: blur(5px);
}
Code language: CSS (css)
Kode di atas akan memberikan efek kabur sebesar 5 piksel pada gambar.
Daftar Filter CSS yang Sering Digunakan
Berikut adalah daftar fungsi filter CSS yang umum digunakan dalam desain web:
| Filter | Deskripsi | Contoh Nilai |
|---|---|---|
blur() | Memberikan efek kabur pada elemen | blur(5px) |
brightness() | Mengatur tingkat kecerahan | brightness(1.2) |
contrast() | Mengatur tingkat kontras | contrast(150%) |
grayscale() | Mengubah warna menjadi hitam putih | grayscale(100%) |
sepia() | Memberikan efek kuno seperti foto lama | sepia(80%) |
saturate() | Mengatur intensitas warna | saturate(2) |
invert() | Membalikkan warna (negatif) | invert(100%) |
opacity() | Mengatur transparansi | opacity(0.5) |
hue-rotate() | Mengubah rona warna gambar | hue-rotate(90deg) |
drop-shadow() | Memberikan bayangan seperti box-shadow | drop-shadow(10px 10px 5px gray) |
Efek Blur dengan CSS Filter
Salah satu efek paling populer adalah blur CSS, yang sering digunakan untuk membuat latar belakang tampak lembut atau menonjolkan elemen tertentu.
.image-blur {
filter: blur(8px);
}Code language: CSS (css)
Contoh HTML:
<img src="https://picsum.photos/1200/800" class="image-blur" alt="Efek Blur CSS">Code language: JavaScript (javascript)
Efek ini sering digunakan untuk background modal, gambar galeri, atau preview loading screen.
Berikut ini adalah contoh hasil menggunakan filter blur di css.

Mengatur Kecerahan dengan Brightness CSS
Properti brightness CSS mengatur seberapa terang atau gelap suatu elemen.
.image-brightness {
filter: brightness(1.5);
}Code language: CSS (css)
Nilai di atas meningkatkan kecerahan sebanyak 50%.
Nilai 1 adalah normal, >1 lebih terang, dan <1 lebih gelap.
<img src="https://picsum.photos/1200/800" class="image-brightness" alt="Efek Brightness CSS">Code language: JavaScript (javascript)
Efek ini sangat berguna saat kamu ingin menonjolkan detail atau membuat mode gelap (dark mode) secara dinamis.
Berikut ini adalah hasil dari menggunakan filter brightness, gambar atas adalah gambar normal.

Meningkatkan Kontras dengan Contrast CSS
Efek contrast CSS digunakan untuk memperjelas perbedaan antara warna terang dan gelap.
.image-contrast {
filter: contrast(180%);
}Code language: CSS (css)
Nilai default 100% berarti tidak ada perubahan. Nilai di atas 100% meningkatkan kontras, sementara di bawah 100% menguranginya.
Berikut ini adalah hasil dari perbandingan gambar normal dan yang menggunakan fungsi contrast.

Mengubah Gambar Menjadi Hitam Putih dengan Grayscale
Efek grayscale CSS banyak digunakan untuk membuat tampilan klasik atau menonjolkan warna tertentu pada hover.
.image-gray {
filter: grayscale(100%);
transition: 0.3s ease;
}
.image-gray:hover {
filter: grayscale(0%);
}Code language: CSS (css)
Dengan kode di atas, gambar akan berubah dari hitam putih menjadi berwarna ketika di-hover.

Efek Sepia untuk Tampilan Vintage
Filter sepia CSS menambahkan efek kecokelatan seperti foto jadul.
.image-sepia {
filter: sepia(70%);
}Code language: CSS (css)
Efek ini cocok untuk website bertema klasik, seni, atau sejarah.
Berikut ini adalah hasilnya.

Mengatur Warna dengan Saturate dan Hue-Rotate
- Saturate: menambah atau mengurangi intensitas warna.
- Hue-Rotate: memutar rona warna.
.image-saturate {
filter: saturate(2);
}
.image-hue {
filter: hue-rotate(90deg);
}Code language: CSS (css)
Kombinasi keduanya bisa menciptakan efek warna futuristik atau tema neon yang dinamis.
Efek Bayangan dengan Drop-Shadow
Berbeda dengan box-shadow, drop-shadow CSS diterapkan langsung ke bentuk elemen transparan seperti gambar PNG atau SVG.
.logo-shadow {
filter: drop-shadow(10px 10px 8px rgba(0,0,0,0.5));
}Code language: CSS (css)
Hasilnya adalah bayangan halus mengikuti bentuk gambar, bukan batas persegi.
Menggabungkan Beberapa Filter Sekaligus
Kamu juga bisa menggunakan multiple filter CSS secara bersamaan.
.image-mix {
filter: brightness(1.2) contrast(120%) saturate(1.5);
}Code language: CSS (css)
Urutan filter berpengaruh terhadap hasil akhirnya, jadi kamu bisa bereksperimen untuk mendapatkan kombinasi terbaik.
Membuat Efek Hover dengan Filter CSS
Efek hover bisa menambah kesan interaktif pada desain web. Berikut contoh hover filter CSS yang sering digunakan:
.image-hover {
filter: grayscale(100%);
transition: filter 0.5s ease;
}
.image-hover:hover {
filter: grayscale(0%) brightness(1.2) contrast(120%);
}Code language: CSS (css)
Kode ini membuat gambar berubah dari hitam putih menjadi lebih cerah dan kontras saat pengguna mengarahkan kursor.
Filter pada Elemen Non-Gambar
Filter CSS juga dapat diterapkan pada teks, video, dan elemen HTML lainnya.
.text-blur {
filter: blur(2px);
transition: 0.4s;
}
.text-blur:hover {
filter: blur(0);
}Code language: CSS (css)
Kamu bisa membuat efek “reveal” teks saat di-hover — cocok untuk tampilan artistik atau animasi presentasi.
CSS Backdrop Filter untuk Efek Transparansi
Backdrop-filter bekerja mirip filter, namun diterapkan pada latar belakang elemen di belakangnya, bukan elemen itu sendiri.
.glass-effect {
backdrop-filter: blur(10px) brightness(0.9);
background-color: rgba(255, 255, 255, 0.3);
border-radius: 12px;
padding: 20px;
}Code language: CSS (css)
Efek ini biasa disebut glassmorphism, sangat populer dalam desain antarmuka modern seperti macOS atau iOS.
Animasi Filter CSS
Kamu dapat membuat CSS filter animation agar efek berubah secara halus.
@keyframes blurIn {
from {
filter: blur(10px);
}
to {
filter: blur(0);
}
}
.animated-blur {
animation: blurIn 1s ease-out;
}Code language: CSS (css)
Kombinasikan dengan efek transform atau transition untuk hasil animasi yang lebih hidup.
Filter SVG dan CSS Filter
Selain filter CSS standar, kamu juga bisa menggunakan SVG filter untuk efek kustom seperti emboss, lighting, atau turbulence.
Contoh mengimpor SVG filter di CSS:
img {
filter: url(#my-svg-filter);
}Code language: CSS (css)
Performa CSS Filter
Gunakan CSS filter dengan bijak karena efek seperti blur() dan drop-shadow() dapat menambah beban render terutama pada elemen besar.
Tips performa:
- Gunakan gambar terkompresi.
- Hindari terlalu banyak filter pada satu halaman.
- Gunakan GPU acceleration (
will-change: filter) untuk efek animasi.
.image-optimized {
will-change: filter;
}Code language: CSS (css)
Kombinasi Filter untuk Efek Sinematik
Berikut contoh kombinasi filter CSS untuk menciptakan nuansa sinematik:
.cinematic {
filter: brightness(0.8) contrast(1.3) sepia(20%) saturate(1.5);
}Code language: CSS (css)
Hasilnya: tampilan gambar seperti film — kontras tinggi dan berwarna hangat.
Studi Kasus: Efek Blur Latar Belakang Konten
Kita bisa menciptakan efek blur di belakang konten untuk tampilan modern seperti kaca buram.
<div class="parallax">
<div class="blur-box">
<h2>Blur Background dengan CSS</h2>
<p>Efek blur memberikan kedalaman visual pada desain web.</p>
</div>
</div>Code language: HTML, XML (xml)
.parallax {
background-image: url('https://picsum.photos/1200/800');
background-size: cover;
height: 100vh;
}
.blur-box {
backdrop-filter: blur(15px);
background-color: rgba(255, 255, 255, 0.2);
border-radius: 10px;
padding: 40px;
color: #fff;
}Code language: CSS (css)
Efek ini memadukan backdrop-filter dengan transparansi, menciptakan gaya frosted glass yang elegan.
CSS Filter untuk Desain Interaktif Web
Berikut beberapa ide penerapan filter CSS untuk web design:
- Efek hover tombol: ubah kecerahan tombol saat disentuh.
- Efek loading: tampilkan gambar kabur lalu perlahan tajam.
- Efek teks neon: kombinasikan
brightness()dandrop-shadow(). - Efek dark mode: gunakan
invert()untuk menyesuaikan tema.
Kesimpulan
Melalui tutorial CSS filter lengkap ini, kamu telah mempelajari:
- Cara menggunakan berbagai jenis filter CSS:
blur(),brightness(),contrast(),grayscale(),sepia(), dan lainnya. - Cara menggabungkan multiple filter CSS dalam satu elemen.
- Penggunaan
backdrop-filteruntuk efek transparansi modern. - Tips performa dan ide penerapan filter dalam desain web.
Dengan memahami setiap properti filter CSS, kamu bisa menciptakan website yang lebih dinamis, menarik, dan profesional, tanpa harus mengandalkan JavaScript atau manipulasi gambar eksternal.
