Efek Redup dengan CSS3 Box-shadow


Ada banyak sekali efek yang bisa dihasilkan oleh CSS3 box-shadow selain hanya membuat efek shadow biasa seperti yang pernah saya tulis di artikel “bermain-main dengan CSS3 Box-shadow“. Kali ini saya akan mencoba membuat efek dim dengan box-shadow.
Efek dim ini akan meredupkan seluruh isi layar browser kecuali element yang sedang dipilih/dihover. Mungkin sedikit demo akan membuat anda mengerti :) , silahkan hover button di bawah ini untuk melihat efek yang akan kita buat.

Matiin Lampunya Bro!

Markup HTML

Mengingat kita akan menggunakan CSS3 Box-shadow, kita tidak memerlukan markup ekstra. Kita hanya membutuhkan class untuk selector CSS kita nantinya.
 <div class="dimbutton">Matikan Lampu</div>

CSS

Pertama-tama kita beri style untuk .dimbutton terlebih dahulu agar penampilannya menjadi keren.
  1. .dimbutton{
  2. padding:20px 30px;
  3. background:#9dea4f;
  4. color:white;
  5. text-shadow:0 -1px 1px rgba(0,0,0,.2);
  6. -webkit-transition:-webkit-box-shadow .5s ease;
  7. -moz-transition:-webkit-box-shadow .5s ease;
  8. -ms-transition:-webkit-box-shadow .5s ease;
  9. -o-transition:-webkit-box-shadow .5s ease;
  10. transition:-webkit-box-shadow .5s ease;
  11. }
Saya hanya memberikan style sederhana dengan menambahkan background dan text-shadow. Efek dari property transisi akan diterapkan pada box-shadow (baca juga bermain-main dengan CSS3 Transition).
Selanjutnya adalah trik yang menjadi pembahasan utama dalam artikel ini, efek dim. efek untuk meredupkan seluruh halaman web kecuali element yang sedang kita hover. Penasaran?
  1. .dimbutton:hover{
  2. -webkit-box-shadow:0 0 0 99999px rgba(0,0,0,.3);
  3. -moz-box-shadow:0 0 0 99999px rgba(0,0,0,.3);
  4. -ms-box-shadow:0 0 0 99999px rgba(0,0,0,.3);
  5. -o-box-shadow:0 0 0 99999px rgba(0,0,0,.3);
  6. box-shadow:0 0 0 99999px rgba(0,0,0,.3);
  7. position:relative;
  8. z-index:999999;
  9. }
Yep, itu saja!. kita beri nilai spread sebesar 99999px agar shadow melebar/menyebar sebesar nilai tersebut dan nilai z-index tersebut agar shadow berada paling atas dari seluruh halaman web (topmost), begitu juga dengan property position:relative.

Dim

Kekurangan

Kekurangan yang muncul adalah ketika elemen tersebut berada di dalam element yang memiliki property overflow:hidden, maka efek redup hanya berlaku untuk element tersebut. Namun kita masih bisa mengakalinya dengan mengganti nilai dari propertyoverflow tersebut dengan visibleoverflow:visible

Kesimpulan

Dengan hanya bermain-main dengan nilai dari property box-shadow anda dapat membuat efek-efek yang mengasyikkan. Kamu mengerti javascript? efek tersebut bisa menjadi lebih flexible. Masih banyak efek-efek lainya yang bisa anda buat dengan property box-shadow, mulai dari shadow biasa sampai memberikan kesan 3D. Dilain kesempatan saya tulis juga beberapa efek lainnya.

Artikel Terkait

0 komentar

Posting Komentar

Cancel Reply