Sunday, November 18, 2012

Teknik-Teknik Durasi CSS Transisi

Teknik-Teknik Durasi CSS Transisi

Katakanlah kita mempunyai baris CSS ini untuk mengubah warna dan tinggi sebuah elemen <span> saat pointer berada di atasnya:

span {
  display:block;
  width:50px;
  height:120px;
  background-color:#080;
  margin:15px auto;
}

span:hover {
  height:150px;
  background-color:#900;
  margin:0 auto;
}

Hasilnya adalah seperti ini:

Kemudian Anda tambahkan sedikit CSS Transisi untuk memberikan efek animasi:

span {
  display:block;
  width:50px;
  height:120px;
  background-color:#080;
  margin:15px auto;transition:all .4s ease-out;}

Maka inilah yang akan Anda hasilkan:

Itu adalah dasarnya. Jika Anda ingin menciptakan efek animasi yang sedikit unik, Anda bisa mencoba untuk memindahkan deklarasi CSS transisi atau membuat perbedaan durasi transisi antara keadaan normal dan saat disentuh pointer. Sebagai contoh, jika Anda memindahkan deklarasi transisi dari selektor utama ke selektor keadaan :hover, maka efek transisi hanya akan terjadi saat pointer berada di atas elemen. Namun saat pointer keluar dari elemen tersebut, efek transisi akan menghilang dan menyisakan efek tersentak seperti biasa:

span {
  display:block;
  width:50px;
  height:120px;
  background-color:#080;
  margin:15px auto;
}

span:hover {
  height:150px;
  background-color:#900;
  margin:0 auto;transition:all .4s ease-out;}

Efek di atas tampak sedikit berbeda dari efek yang pertama karena transisi hanya terjadi saat pointer berada di atas elemen. Sedangkan saat pointer meninggalkannya, efek transisi tidak terjadi.

Untuk membuat efek transisi yang merupakan kebalikan dari efek di atas (yaitu efek transisi terjadi pada saat pointer keluar dari elemen, namun tidak terjadi pada saat pointer berada di atasnya), Anda bisa menggunakan cara seperti ini:

Pertama-tama, set efek transisi pada selektor utama dengan durasi tertentu:

span {
  display:block;
  width:50px;
  height:120px;
  background-color:#080;
  margin:15px auto;transition:all .4s ease-out;}

Kemudian set durasi transisi menjadi 0s pada keadaan :hover:

span:hover {
  height:150px;
  background-color:#900;
  margin:0 auto;transition-duration:0s;}

Sehingga hasilnya akan menjadi seperti ini:

Ini berlaku juga untuk pseudo kelas :focus dan :active.

Labels: ,

10 Comments:

At Sunday, November 18, 2012 at 9:39:00 PM GMT+7, Anonymous Anonymous said...

efek yang pertama malah saya baru tau, kirain pake transisi ease-in-out ga tau nya cman peletakan transisi nya saja. :D

 
At Tuesday, November 20, 2012 at 10:00:00 PM GMT+7, Blogger Nyak said...

hahaha...
yang terakhir itu ternyata asik juga yaah... :)

 
At Saturday, December 1, 2012 at 3:15:00 PM GMT+7, Blogger binkbenk said...

mantep sob,,,,

mau tanya kalo bikin project di google code (svn/trunk) gimana sih caranya,, saya buat dan upload css,, tapi ane pasang di blog kok gak work ya sob,, apa setingnya ya?? :D

mohon pencerahannya maklum newbie... thanks sob

 
At Saturday, December 1, 2012 at 3:21:00 PM GMT+7, Blogger Unknown said...

download dulu tortoiseSVN nya mas !
tutorial cara bikinnya juga udah ada di google:)

 
At Tuesday, December 11, 2012 at 3:55:00 PM GMT+7, Blogger Unknown said...

kunjungan sore mas :D.. mampir ke blog ku yak :D

 
At Saturday, December 15, 2012 at 5:49:00 PM GMT+7, Blogger Faunk said...

Keren . . . .
Baru tau tuh Sob saya \o/ .
pake hover height,kirain pake keyframes tadinya .

 
At Sunday, December 16, 2012 at 5:51:00 PM GMT+7, Blogger Pulung said...

yang terakhir emang keren mas, kayak efek volume gitu..

 
At Wednesday, December 19, 2012 at 6:54:00 AM GMT+7, Blogger Coba Coba said...

Wew, nggak nyangka masternya masih ada yang mau sharing..baru ketemu lagi kali ini selama 3 tahun saya ngeblog sama master yg masih rajin update :D
Mau tanya nih gan, gimana cara membuat title posting <title></title> berbeda pada label yg berbeda..misal label "Manis" saya tambahin kata "Silahkan membaca artikel <title></title>" terus pada label "Asam" tambahannnya bukan yg tadi tp lain misal "Silahkan memakan yang lain <title></title>. Mohon pencerahannya master, kalau berkenan jika sudah tahu kabari saya =>> (musik_id@yahoo.com). Thanks

 
At Tuesday, December 25, 2012 at 5:47:00 PM GMT+7, Blogger Rohis Facebook said...

assalamualaykum mas taufiq.., klo sy terapkan pd blog sy efekx gk ngaruh klo buka di google crome tp klo linknya mas taufiq sy bukan di google ko efekx bagus, napa ya..???, *bingung

 
At Tuesday, December 25, 2012 at 9:41:00 PM GMT+7, Blogger Taufik Nurrohman said...

Waalaykumsalam. Sebenarnya kode di atas sudah Saya sederhanakan semua. Dalam prakteknya, tetap harus ditambahkan prefix sesuai dengan masing-masing peramban:

span {
display:block;
width:50px;
height:120px;
background-color:#080;
margin:15px auto;
-webkit-transition:all .4s ease-out;
-moz-transition:all .4s ease-out;
-ms-transition:all .4s ease-out;
-o-transition:all .4s ease-out;
transition:all .4s ease-out;
}

 

Post a Comment

<< Home