Posts

Tutorial Membuat Dropdown Box Menggunakan CSS3 Animation Dengan Sedikit Trik Checkbox

asda

Dalam tutorial ini kita akan membuat dropdown box dengan menggunakan CSS3 Animation dengan sedikit trik checkbox sebagai triggernya, biasanya ini dibuat dengan bantuan JQuery namun berkat CSS3 kita dapat membuat ini dengan properti transtion.

Silahkan lihat demonya disini.

HTML5 Untuk Dropdown Box

Mari kita lihat markup HTML5 untuk tutorial ini dengan lebih detail

<!-- Dropdown box slider -->
<section class="slider">

  <!-- Checkbox, kita akan menggunakan sedikit trik pada checkbox ini -->
  <input type="checkbox" id="toggle">
  <!-- Kita akan buat label ini sebagai pemicu dropdown slider. -->
  <label for="toggle">
    <!-- icon yang digunakan adalah entypo. kalian dapat mengubahnya -->
    <i class="toggle-icon"></i>
  </label>

  <!-- Konten dari dropdown box slider -->
  <section class="main-content">
    <h1>CSS3 Drop down box</h1>
  </section>

</section>

Komentar di atas di buat agar lebih mudah dipahami. Satu hal penting yang perlu ditambahkan disini adalah bahwa penting untuk memunculkan konten setelah checkbox. Kita perlu ini untuk memanfaatkan ~ selector. Selector ini digunakan untuk memilih sebuah elemen yang datang setelah elemen lain . Dalam hal ini kita perlu memilih konten yang datang setelah checkbox.

Jadi, mari kita lakukan styling.

Trik Checkbox Sebagai Pemicu Dropdown Box

Jadi, mari kita lihat bagaimana kita mengubah checkbox dan label menjadi tombol aktivasi yang terlihat bagus. Pertama-tama, kita menggunakan ikon dari webfont entypo sebagai contoh. Kita gunakan down arrow untuk posisi unchecked, dan up arrow untuk posisi checked.

input#toggle + label i.toggle-icon:before {
  font-family: 'entypo', sans-serif;
  content: "\e764";
}

input#toggle:checked + label i.toggle-icon:before {
  content: "\e767";
}

 Sekarang tentu saja kita perlu menyembunyikan checkbox dan menambahkan beberapa styling ekstra untuk label. Hal ini penting untuk menginisialisasi atas menjadi 0 pada label agar animasi bekerja. Atau anda bisa menggunakan properti transform untuk animasinya.

.slider input#toggle {
  display: none;
}

.slider input#toggle + label {
  font-size: 25px;
  width: 25px;
  height: 25px;
  display: inline-block;
  padding: 10px;
  color: white;
  background: #8f2c2c;
  position: relative;
  top: 0;
  transition: top 0.5s ease-in-out;
}

 Di properti transition ini kita definisikan properti agar animasi berfungsi, kecepatan, dan fungsi dari transisinya. Dan disini ada beberapa styling umum untuk slider dan konten.

.slider {
  width: 600px;
  text-align: center;
  margin: 0 auto;
}

.slider .main-content {
  background: #eee;
  height: 150px;
  position: relative;
  top: -195px;
  transition: top 0.5s ease-in-out;
}

.slider .main-content h1 {
  line-height: 150px;
  color: #30303f;
  width: 100%;
  text-stroke: 1px;
  font-size: 30px;
  text-shadow: 0 1px 1px #000;
  font-family: "Roboto"
}

 Membuat Animasi Dropdown Box Dengan CSS3

Sekarang mari kita lihat betapa mudahnya untuk membuat animasi dropdown box berfungsi seperti ditarik:

input#toggle:checked + label {
  top: 150px;
}

input#toggle:checked ~ .main-content {
  top: -45px;
}

 Apa yang kita lakukan disini adalah mengatur posisi label checkbox dan konten dari dropdown box. Perubahan properti ini akan memiliki animasi seperti yang ditentukan oleh properti transition yang kita definisikan sebelumnya. Perlu di perhatikan bagaimana kita menggunakan ~ selector untuk menargetkan class .main-content yang muncul setelah checkbox.

Sekian tutorial kali ini, kalian bisa lihat demonya disini.

Terimakasih.

Cara Membuat Icon Media Sosial di CSS3

Pada hampir setiap website, blog, majalah atau bisnis yang Anda temui di internet, memiliki beberapa konten atau tombol media sosial. Apakah itu share sosial, link profil atau “like”, “follow”, dll. Dan meskipun diluar sana pun ada tool atau plugin yang instan tapi alangkah lebih baik kita belajar dari yang dasar terlebih dahulu dengan buatan sendiri. Tutorial ini akan menunjukan cara membuat kustom icon media sosial langkah demi langkah. Jadi mari kita mulai!

Step 1 – Membuat Tombol

Untuk mulai membuat tombol media sosial kita, kita akan mulai dengan membuat tombol yang sebenarnya. Mari kita mulai dengan menambahkan kode HTML sederhana dibawah ini untuk membuat button.

<html>
<head>
</head>
    <a class="share__btn" href="#">Tweet</a>
</div>
    <a class="share__btn" href="#">Like</a>
</div>
    <a class="share__btn" href="#">+1</a>
</div>
</html>

Saat ini kita telah menambahkan HTML dasar kita sekarang dapat menambahkan beberapa style dan mulai membentuk tombol keluar. CSS dibawah ini akan digunakan sebagai border dan style untuk kedua tombol dan counter share.

body {
    font: 0.875em/1.5 'Helvetica Neue', Helvetica, Arial, sans-serif;
    padding: 42px 40px;
}
 
a {
    text-decoration: none;
}
 
.share {
    display: inline-block;
    margin-right: 20px;
}
.share__count {
    background-color: #fff;
    border: solid 1px #a5b1bd;
    border-radius: 3px;
    /* add in vendor rules */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    /* add in vendor rules */
    color: #424a4d;
    float: left;
    font-weight: bold;
    margin-right: 10px;
    padding: 4px 10px;
    position: relative;
    text-align: center;
}

TutIMG1

Sekarang, kita belum selesai membuat layout dasar untuk kedua tombol share dan counter share dengan kode diatas. Kita sekarang perlu menambahkan kode CSS dasar untuk dapat menyelesaikan dan membentuk sebuah tombol.

.share_size_large > .share__count {
    display: block;
    float: none;
    font-size: 18px;
    margin-right: 0;
    margin-bottom: 12px;
    padding: 10px 0;
}
 
.share__btn {
    border: solid 1px rgba(0, 0, 0, 0.2);
    border-radius: 3px;
    /* add in vendor rules */
    box-shadow: inset 0 1px 3px rgba(255, 255, 255, 0.3), 0 1px 3px rgba(0, 0, 0, 0.15);
    /* add in vendor rules */
    color: #fff;
    display: inline-block;
    font-size: 13px;
    font-weight: bold;
    padding: 5px 10px;
    text-align: center;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}

Step 2 – Styling Tombol Share

Karena kita telah selesai membuat dasar layout tombol kita sekarang dapat mulai styling dengan menyisipkan kode HTML untuk menunjuk ke elemen CSS.

Mari kita tambahkan kode HTML dibawah ini untuk masing-masing tombol share kita. Sekarang, ingat, kita akan menambahkan style tombol melalui kode CSS kita akan menambahkannya nanti. Jika Anda ingin style tombol share Facebook, kemudian menambahkan “type_facebook”. Jika Anda ingin style tombol share Twitter juga, tambahkan “type_twitter” dan sebagainya. Anda selalu dapat menyesuaikan warna dan style dari tombol yang berbeda berdasarkan profil media sosial Anda.

.share_size_large > .share__btn {
    padding: 5px 0;
    width: 100%;
}
 
.share_type_twitter > .share__btn {
    background-color: #4099FF;
}
 
.share_type_facebook > .share__btn {
    background-color: #3B5999;
}
 
.share_type_gplus > .share__btn {
    background-color: #F90101;
}

TutIMG2

Step 3 – Membuat Share Counter

Kita sekarang akan menambahkan counter share ke tombol media sosial. Mari kita mulai dengan menambahkan kode HTML sederhana untuk masing-masing dan salah satu tombol kita dimana kita ingin menampilka counter media sosial. Anda selalu dapat menerapkan counter sosial sharing kedalam tombol Anda; Yang telah menunjukan Anda bagaimana untuk melakukannya di “Step 5”.

Sekarang, kita ingin menambahkan beberapa style ke sosial counter. Pada dasarnya, ini akan menambahkan beberapa layout ke kotak counter.

.share__count:before, .share__count:after {
  content: '';
  display: block;
    height: 0;
    top: 50%;
  position: absolute;
    right: -14px;
  width: 0;
    margin-top: -6px;
}
 
.share_size_large > .share__count:before, .share_size_large > .share__count:after {
  content: '';
  display: block;
    height: 0;
    left: 50%;
  position: absolute;
    top: auto;
  width: 0;
}

Step 4 – Menyelesaikan Style Tombol Media Sosial

Kita sekarang akan menyelesaikan style tombol media sosial yang off dengan menyelesaikan counter sosial dengan menambahkan stylenya dan menambahkan pointer kecil menuju tombol yang sebenarnya. Kode berikut juga memperbaiki setiap masalah border dan layout tombol yang mungkin Anda miliki.

.share__count:before {
    border: solid 7px transparent;
    border-color: transparent transparent transparent #a5b1bd;
}
 
.share_size_large > .share__count:before {
  border-color: #a5b1bd transparent transparent transparent;
    bottom: -14px;
  margin-left: -7px;
}
 
.share__count:after {
    border: solid 6px transparent;
    border-color: transparent transparent transparent #fff;
    right: -12px;
    margin-top: -5px;
}
 
.share_size_large > .share__count:after {
  margin-left: -6px;
  bottom: -12px;
  border-color: #fff transparent transparent transparent;
}

TutIMG3

Step 5 – Menambahkan Counter dapat Berfungsi

Karena kita telah selesai sampai tombol dan desain counter saatnya untuk membuat counter benar-benar dapat digunakan. Untuk itu, kita akan menggunakan PHP. Sekarang jika Anda ingin counter bekerja dengan baik, pergi menuju Facebook/Twitter/Google Plus API counter untuk share, like, komentar dll, dari situs jaringan sosial dan mengganti URL setelah file_get_contents dengan URL API Anda.

Kode PHP dibawah, pastikan untuk menamai file dengan social.php jika Anda tidak ingin mengubah kode dari tutorial ini.

'; $fbend = '';
        $fbpage = $facebook;
        $fbparts = explode($fbbegin,$fbpage);
        $fbpage = $fbparts[1];
        $fbparts = explode($fbend,$fbpage);
        $fbcount = $fbparts[0];
        if($fbcount == '') { $fbcount = '0'; }
}
function twit_count() {
        global $tcount;
        $twit = file_get_contents('http://api.twitter.com/YOURPOST/PAGE');
        $begin = ''; $end = '';
        $page = $twit;
        $parts = explode($begin,$page);
        $page = $parts[1];
        $parts = explode($end,$page);
        $tcount = $parts[0];
        if($tcount == '') { $tcount = '0'; }
}
?>

Karena kita sekarang telah membuat file social.php, sekarang kita dapat menghubungkan tombol media sosial untuk counter sebenarnya. Tempatkan kode PHP kecil dimana nomor counter Anda berlokasi didekat tombol Anda. Pastikan untuk mengganti fbcount dengan nama sosial yang benar dalam file PHP.

Membuat counter dengan Google+ sedikit berbeda, dan perbedaan yang sedikit itu untuk sebagian besar. Cukup tambahkan kode berikut dimana Anda ingin menampilkan nomor counter. Dengan Google+ counter Anda mungkin ingin membuat layout untuk sedikit counter sedikit lebih luas, yang hanya akan membuatnya terlihat sedikit lebih baik, karena counter Google+ berbeda dari Twitter dan Facebook API.

preview

DEMO

Sekarang kita telah selesai membuat tombol media sosial Anda sekarang dapat menerapkannya kedalam CMS atau website Anda. Pastikan untuk memperoleh posting/halaman Facebook API counter sebelum Anda mencoba untuk menggunakan counter. Kami harap postingan ini bisa bermanfaat untuk Anda.

Membuat Efek Hover Link dengan CSS

Salah satu bagian penting dari sebuah situs web adalah link teks. Dengan mengklik sebuah tag anchor Anda dapat pergi ke mana pun dari situs yang menunjuk ke halaman tertentu.

Link khusus berisi efek hover sederhana seperti penggunaan perubahan warna sederhana ketika mouse ditunjukan atau diklik. Tapi ada cara untuk membuat efek ini lebih baik dan menarik.

Sekarang, kita akan membahas cara untuk membuat link mengagumkan menggunakan fitur baru dari CSS3 : transition and transform. Pada akhir tutorial ini Anda akan memiliki efek hover link  yang pasti akan membantu navigasi Anda.

Sumber daya yang Anda butuhkan untuk menyelesaikan tutorial ini adalah sebagai berikut:

  • Font-Awesome
  • Pengetahuan tentang CSS3 transitions dan transform
  • Waktu dan kesabaran

Demo 1

Demo pertama akan memiliki efek sederhana sehingga ketika Anda mengarahkan mouse Anda, border tiga pixel akan keluar dari bagian belakang kota container teks link.

HTML

Dalam markup hanya akan berisi  tag HTML5  nav yang memegang semua link pada demo kita. Pada setiap tag anchor ada class box dan demo-1. Kita juga akan menempatkan ikon font awesome sebelum link untuk membuat desain yang lebih keren.

<nav>
      <a href="#" class="box demo-1"> <i class="fa fa-hand-o-right"></i> <span>Demo 1</span> </a>
      <a href="#" class="box demo-1"> <i class="fa fa-hand-o-up"></i> <span>Demo 2</span></a>
      <a href="#" class="box demo-1"> <i class="fa fa-hand-o-left"></i>  </i> <span>Demo 3</span></a>
      <a href="#" class="box demo-1">  <i class="fa fa-thumbs-o-up"></i> <span>Demo 4</span></a>
</nav>

CSS

Untuk CSS, kita akan menggunakan selektor ::before dan ::after untuk menyisipkan border 3 pixel ketika mouse sedang menghover ke elemen tag anchor. Untuk membuat efek halus, kita akan menggunakan CSS3 transition.

.box{
  color: #fff;
  padding: 10px;
}
 
.box:hover{
  background: #fff;
  color: #26425E;
}
 
.demo-1 {
  position: relative;
}
 
.demo-1:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  top: 0;
  right: 0;
 
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.2s;
 
  -webkit-transition-property: top, left, right, bottom;
  -moz-transition-property: top, left, right, bottom;
  -ms-transition-property: top, left, right, bottom;
  -o-transition-property: top, left, right, bottom;
  transition-property: top, left, right, bottom;
}
 
.demo-1:hover:before, .demo-1:focus:before{
  -webkit-transition-delay: .1s;
  -moz-transition-delay: .1s;
  -ms-transition-delay: .1s;
  -o-transition-delay: .1s;
  transition-delay: .1s; 
 
  border: #fff solid 3px;
  bottom: -7px;
  left: -7px;
  top: -7px;
  right: -7px;
}

Demo 2

Demo kedua akan memiliki efek highlight halus di mana ketika Anda mengarahkan mouse Anda pada menu, maka akan menyoroti teks dan menambahkan border putus-putus pada bagian atas dan bawah teks.

HTML

Dalam markup ke dua hampir sama dengan demo pertama, namun kali ini akan menggunakan demo-2 sebagai class pada setiap tag anchor. Kita akan menggunakan data atribut HTML5 untuk memanipulasi efek hover melalui CSS nanti. Perhatikan kita menambahkan & nbsp; pada atribut data-text. Karena data atribut tidak akan mengambil ruang non-breaking, kita perlu menggunakan escape string untuk menempatkan beberapa ruang antara kata Demo dan jumlah demo. Selain dari escape string ini Anda juga dapat menggunakan code &#160 untuk menciptakan output yang sama.

<nav>
    <a href="#" class="demo-2" data-text="Demo&nbsp;1">Demo 1</a>
    <a href="#" class="demo-2" data-text="Demo&nbsp;2">Demo 2</a>
    <a href="#" class="demo-2" data-text="Demo&nbsp;3">Demo 3</a>
    <a href="#" class="demo-2" data-text="Demo&nbsp;4">Demo 4</a>
</nav>

CSS

Sekarang ke CSS, kita akan menetapkan border putus-putus pada bagian atas dan bawah serta mengatur lebar dari atribut data-text ke nol. Menggunakan selektor :hover and :focus kita akan transisi lebar dari atribut data atribut maupun 2 garis putus-putus ke 100% untuk membuat efek highlight halus.

.demo-2{
  color: #314559;
  padding: 10px 0;
}
 
.demo-2::before {
  color: #fff;
  max-width: 0;
  padding: 10px 0;
  border-top: 1px dashed #fff;
  border-bottom: 1px dashed #fff;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  content: attr(data-text);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
 
.demo-2:hover::before,
.demo-2:focus::before {
  max-width: 100%;
  outline: none;
  text-shadow: none;
}

Demo 3

Demo ketiga kita terinspirasi oleh Sebastian Ekström tentang efek link hover 3D. Ini akan memiliki efek flipping box background 3D ketika mouse diarahkan ke menu.

HTML

Markupnya hampir identik sama seperti dua demo pertama namun untuk membuat beberapa efek yang mengagumkan kita perlu menggunakan atribut data untuk mengulangi teks link dalam pseudo-element.

<nav>
      <a href="#" class="demo-3"> <span data-text="Demo 1">Demo 1</span></a>
      <a href="#" class="demo-3"><span data-text="Demo 2">Demo 2</span></a>
      <a href="#" class="demo-3"><span data-text="Demo 3">Demo 3</span></a>
      <a href="#" class="demo-3"><span data-text="Demo 4">Demo 4</span></a>
</nav>

CSS

Sekarang mari kita tambahkan beberapa magic untuk markupnya. Ide dasar untuk efek ini adalah bahwa kita akan translate3d dan perspective untuk menciptakan ilusi berputar keatas dan kotak mundur. Kita akan menggunakan overflow: hidden untuk klip kotak dan sisanya dari konten akan terlihat.

.demo-3 {
  color: #fff;
  display: inline-block;
  text-decoration: none;
  overflow: hidden;
  vertical-align: top;
   background: #1C3044;
  -webkit-perspective: 600px;
  -moz-perspective: 600px;
  -ms-perspective: 600px;
  perspective: 600px;
  -webkit-perspective-origin: 50% 50%;
  -moz-perspective-origin: 50% 50%;
  -ms-perspective-origin: 50% 50%;
  perspective-origin: 50% 50%;
}
 .demo-3:hover span {
  background: #314559;
  -webkit-transform: translate3d(0px, 0px, -30px) rotateX(90deg);
  -moz-transform: translate3d(0px, 0px, -30px) rotateX(90deg);
  -ms-transform: translate3d(0px, 0px, -30px) rotateX(90deg);
  transform: translate3d(0px, 0px, -30px) rotateX(90deg);
}
  .demo-3 span {
  display: block;
  position: relative;
  padding: 10px 20px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform-origin: 50% 0%;
  -moz-transform-origin: 50% 0%;
  -ms-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
 
 .demo-3 span:after {
  content: attr(data-text);
  -webkit-font-smoothing: antialiased;
  padding: 10px 20px;
  color: #fff;
  background: #0e6957;
  display: block;
  position: absolute;
 
  left: 0;
  top: 0;
  -webkit-transform-origin: 50% 0%;
  -moz-transform-origin: 50% 0%;
  -ms-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-transform: translate3d(0px, 105%, 0px) rotateX(-90deg);
  -moz-transform: translate3d(0px, 105%, 0px) rotateX(-90deg);
  -ms-transform: translate3d(0px, 105%, 0px) rotateX(-90deg);
  transform: translate3d(0px, 105%, 0px) rotateX(-90deg);
}

Perhatikan bahwa kami juga menggunakan properti rotateX bersama dengan translate3D. Ini akan membuat efek translating dan rotating kotak ketika teks tersebut diarahkan mouse.

Demo 4

Demo keempat akan berbeda. Kali ini kia akan flashing animasi border menggunakan properti keyframe CSS3.

HTML

Markup pada demo ini akan berbeda. Didalam tag nav kita akan menambahkan empat tag anchor dan menempatkan dua tag span didalam masing-masing tag anchor. Tag span pertama akan berisi teks untuk keadaan normal dan yang kedua untuk hover state. Kita juga akan menambahkan class demo-4 pada setiap tag anchor.

<nav>
    <a href="#" class="demo-4">
      <span>
        <span>Demo 1</span>
        <span>Hover</span>
        <span></span>
      </span>
    </a>
 
    <a href="#" class="demo-4">
      <span>
        <span>Demo 2</span>
        <span>Hover</span>
        <span></span>
      </span>
    </a>
 
    <a href="#" class="demo-4">
      <span>
        <span>Demo 3</span>
        <span>Hover</span>
        <span></span>
      </span>
    </a>
 
    <a href="#" class="demo-4">
      <span>
        <span>Demo 4</span>
        <span>Hover</span>
        <span></span>
      </span>
    </a>
 
  </nav>

CSS

Sekarang saatnya untuk memberi efek hidup dapa link kita. Untuk membuat efek border berkedip, kita akan menggunakan fitur baru CSS3, properti @keyframe untuk membuat animasi. Pertama, kita perlu menentukan lebar container tag anchor serta border span.

.demo-4 {
  width: 210px;
  background-color: transparent;
  cursor: pointer;
  border-color: #bdc3c7;
}
 
.demo-4:hover {
  border-color: #C672E9;
}
 
.demo-4 span:nth-child(1) {
  color: #FCFCFC;
}
 
.demo-4 span:nth-child(2) {
  color: #C672E9;
}
 
.demo-4 span {
  font-family: 'Lato', sans-serif;
  font-size: 28px;
  letter-spacing: 3px;
}
 
.demo-4 {
  position: relative;
  box-sizing: border-box;
  padding: 0;
  border-style: none;
  height: 65px;
  display: inline-block;
}
 
.demo-4 span {
  position: absolute;
  box-sizing: border-box;
  display: block;
}

Selanjutnya, kita perlu menentukan posisi dan properti dari content menggunakan selektor :before dan :after. Hal ini juga mencakup posisi border dan teks hover state.

.demo-4>span>span:nth-child(3), .demo-4:before, .demo-4:after, .demo-4>:first-child, .demo-4>:first-child:before, .demo-4>:first-child:after {
  border-color: inherit;
  display: block;
  -moz-transition: border-color 0.3s ease;
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}
 
.demo-4:before, .demo-4:after, .demo-4>:first-child:before, .demo-4>:first-child:after {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  position: absolute;
  box-sizing: border-box;
  content: ' ';
}
 
.demo-4>span>span:nth-child(3), .demo-4:before, .demo-4:after, .demo-4>:first-child:before, .demo-4>:first-child:after {
  border-width: 3px;
}
.demo-4>span>span:nth-child(3) {
  border-radius: 3px;
}
.demo-4:before {
  border-radius: 3px 0 0 3px;
}
.demo-4:after {
  border-radius: 0 3px 3px 0;
}
.demo-4>:first-child:before {
  border-radius: 3px 3px 0 0;
}
.demo-4>:first-child:after {
  border-radius: 0 0 3px 3px;
}
 
.demo-4>:first-child {
  top: 0;
  left: 0;
  width: inherit;
  height: inherit;
}
.demo-4>span span {
  width: inherit;
  text-align: center;
  -moz-transition: opacity 0.6s ease, top 0.5s ease;
  -webkit-transition: opacity 0.6s ease, top 0.5s ease;
  transition: opacity 0.6s ease, top 0.5s ease;
}
.demo-4>span>span:nth-child(1) {
  opacity: 1;
  top: 18px;
}
.demo-4>span>span:nth-child(2) {
  top: 37px;
  opacity: 0;
}
.demo-4:hover>span>span:nth-child(1) {
  opacity: 0;
  top: 2px;
}
.demo-4:hover>span>span:nth-child(2){
  opacity: 1;
  top: 18px;
}
 
.demo-4>span>span:nth-child(3) {
  top: 28%;
  height: 44%;
  width: inherit;
  border-style: none solid none solid;
}
 
.demo-4:before, .demo-4:after {
  top: 0;
  width: 0;
  height: inherit;
  border-style: solid none solid none;
}
 
.demo-4>:first-child:before, .demo-4>:first-child:after {
  left: 0;
  height: 0;
  width: inherit;
  border-style: none solid none solid;
}
 
.demo-4:before {
  -webkit-animation-name: left-center;
  animation-name: left-center;
}
 
.demo-4:after {
  -webkit-animation-name: right-center;
  animation-name: right-center;
}
 
.demo-4>:first-child:before {
  -webkit-animation-name: center-top;
  animation-name: center-top;
}
 
.demo-4>:first-child:after {
  -webkit-animation-name: center-bottom;
  animation-name: center-bottom;
}
 
.demo-4:hover:before {
  -webkit-animation-name: center-left;
  animation-name: center-left;
}
 
.demo-4:hover:after {
  -webkit-animation-name: center-right;
  animation-name: center-right;
}
 
.demo-4:hover>:first-child:before {
  -webkit-animation-name: top-center;
  animation-name: top-center;
}
 
.demo-4:hover>:first-child:after {
  -webkit-animation-name: bottom-center;
  animation-name: bottom-center;
}

Perhatikan bahwa kita juga akan menempatkan nama animasi pada setiap selektor hover. Kali ini kita perlu mengerjakannya pada animasi. Berikutnya adalah animasi @keyframe diatur untuk Chrome, Safari, IE dan Firefox.

@-webkit-keyframes center-left {
    0%   {left: 40%; width: 8%; opacity: 0.2;}
    25%  {left: 25%; width: 15%;}
    50%  {left: 0%; width: 30%;}
    80%  {left: 0%; width: 0%;}
    100% {left: 0%; width: 0%; opacity: 1;}
}
 
@-webkit-keyframes left-center {
    0%   {left: 0%; width: 0%; opacity: 1;}
    20%  {left: 0%; width: 0%;}
    50%  {left: 0%; width: 30%;}
    55%  {left: 40%; width: 11%;}
    100% {left: 43%; width: 8%; opacity: 0.2;}
}
 
@-webkit-keyframes center-right {
    0%   {left: 52%; width: 8%; opacity: 0.2;}
    25%  {left: 60%; width: 15%;}
    50%  {left: 70%; width: 30%;}
    80%  {left: 100%; width: 0%;}
    100% {left: 100%; width: 0%; opacity: 1;}
}
 
@-webkit-keyframes right-center {
    0%   {left: 100%; width: 0%; opacity: 1;}
    20%  {left: 100%; width: 0%;}
    50%  {left: 70%; width: 30%;}
    55%  {left: 49%; width: 11%;}
    100% {left: 49%; width: 8%; opacity: 0.2;}
}
 
@-webkit-keyframes top-center {
    0%   {top: 0%; height: 0%; opacity: 0.2;}
    50%  {top: 0%; height: 0%;}
    60%  {top: 0%; height: 20%;}
    80%  {top: 0%; height: 50%;}
    90%  {top: 25%; height: 25%;}
    100% {top: 50%; height: 0%; opacity: 1;}
}
 
@-webkit-keyframes center-top {
    0%   {top: 50%; height: 0%; opacity: 1;}
    10%  {top: 25%; height: 25%;}
    20%  {top: 0%; height: 50%;}
    40%  {top: 0%; height: 20%;}
    50%  {top: 0%; height: 0%;}
    100% {top: 0%; height: 0%; opacity: 0.2;}
}
 
@-webkit-keyframes bottom-center {
    0%   {top: 100%; height: 0%; opacity: 0.2;}
    50%  {top: 100%; height: 0%;}
    60%  {top: 80%; height: 20%;}
    80%  {top: 50%; height: 50%;}
    90%  {top: 50%; height: 25%;}
    100% {top: 50%; height: 0%; opacity: 1;}
}
 
@-webkit-keyframes center-bottom {
    0%   {top: 50%; height: 0%; opacity: 1;}
    10%  {top: 50%; height: 25%;}
    20%  {top: 50%; height: 50%;}
    40%  {top: 80%; height: 20%;}
    50%  {top: 100%; height: 0%;}
    100% {top: 100%; height: 0%; opacity: 0.2;}
}
 
@keyframes center-left {
    0%   {left: 40%; width: 8%; opacity: 0.2;}
    25%  {left: 25%; width: 15%;}
    50%  {left: 0%; width: 30%;}
    80%  {left: 0%; width: 0%;}
    100% {left: 0%; width: 0%; opacity: 1;}
}
 
@keyframes left-center {
    0%   {left: 0%; width: 0%; opacity: 1;}
    20%  {left: 0%; width: 0%;}
    50%  {left: 0%; width: 30%;}
    55%  {left: 40%; width: 11%;}
    100% {left: 43%; width: 8%; opacity: 0.2;}
}
 
@keyframes center-right {
    0%   {left: 52%; width: 8%; opacity: 0.2;}
    25%  {left: 60%; width: 15%;}
    50%  {left: 70%; width: 30%;}
    80%  {left: 100%; width: 0%;}
    100% {left: 100%; width: 0%; opacity: 1;}
}
 
@keyframes right-center {
    0%   {left: 100%; width: 0%; opacity: 1;}
    20%  {left: 100%; width: 0%;}
    50%  {left: 70%; width: 30%;}
    55%  {left: 49%; width: 11%;}
    100% {left: 49%; width: 8%; opacity: 0.2;}
}
 
@keyframes top-center {
    0%   {top: 0%; height: 0%; opacity: 0.2;}
    50%  {top: 0%; height: 0%;}
    60%  {top: 0%; height: 20%;}
    80%  {top: 0%; height: 50%;}
    90%  {top: 25%; height: 25%;}
    100% {top: 50%; height: 0%; opacity: 1;}
}
 
@keyframes center-top {
    0%   {top: 50%; height: 0%; opacity: 1;}
    10%  {top: 25%; height: 25%;}
    20%  {top: 0%; height: 50%;}
    40%  {top: 0%; height: 20%;}
    50%  {top: 0%; height: 0%;}
    100% {top: 0%; height: 0%; opacity: 0.2;}
}
 
@keyframes bottom-center {
    0%   {top: 100%; height: 0%; opacity: 0.2;}
    50%  {top: 100%; height: 0%;}
    60%  {top: 80%; height: 20%;}
    80%  {top: 50%; height: 50%;}
    90%  {top: 50%; height: 25%;}
    100% {top: 50%; height: 0%; opacity: 1;}
}
 
@keyframes center-bottom {
    0%   {top: 50%; height: 0%; opacity: 1;}
    10%  {top: 50%; height: 25%;}
    20%  {top: 50%; height: 50%;}
    40%  {top: 80%; height: 20%;}
    50%  {top: 100%; height: 0%;}
    100% {top: 100%; height: 0%; opacity: 0.2;}
}

 

Disini kita telah membuat sebuah efek hover link teks. Jangan ragu untuk bereksperimen dengan efek yang lain. Ada kemungkinan yang tidak terbatas dan kami percaya Anda dapat mengembangkannya lagi. Kami harap bahwa Anda dapat mengambil pelajaran dari tutorial ini silahkan isi pada bagian komentar dan jangan lupa untuk share. Karena berbagi itu indah.

DEMO

Tips cepat: Tutorial Membuat Efek Hover Dengan Gambar Lingkaran(Circle) Menggunakan CSS3

crcl

Dalam tutorial ini kita akan coba membuat efek hover CSS3 menggunakan animation dan transform gambar lingkaran(circle) untuk meningkatkan interface desain web kalian. Ini terlihat jauh lebih menarik dengan menggunakan transition style pada gambar. efek transisi/animasi ini full menggunakan CSS3 tanpa Javascript/JQuery, jadi kali ini kita akan membuat efek hover spesial pada CSS3.

Perlu dicatat ini hanya akan bekerja/berfungsi dengan baik pada browser yang support CSS3.

Kalian bisa melihat preview/demonya disini

Mari kita mulai dengan markup HTML

Struktur markupnya kurang lebih terlihat seperti ini :

<div id="skin">
   <p class="icon"></p>
   <a href="http://trustme.co.id/" class="fdw_left">Kiri</a>
   <a href="http://trustme.co.id/" class="fdw_right">Kanan</a>
</div>

 CSS

Dan CSS nya memiliki struktur seperti ini :

#skin {
  position:relative;
  border-radius:50%;
  -moz-border-radius:50%;
  -webkit-border-radius:50%;
  border:10px solid rgba(255,255,255,.10);
  width:284px;
  height:284px;
  overflow:hidden;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s  ease;
  -o-transition: all .3s  ease;
  -ms-transition: all .3s  ease;
  transition: all .3s ease;
}
.fdw_left,
.fdw_right {
  float:left;
  width:50%;
  height:100%;
  margin:0;
  text-align:center;
  line-height:280px;
  text-decoration:none;
}
.fdw_right {
  border-radius:0 142px 142px 0;
  -moz-border-radius:0 142px 142px 0;
  -webkit-border-radius:0 142px 142px 0;
}
.fdw_left {
  background-color:#fff;
  border-radius:142px 0 0 142px;
  -moz-border-radius:142px 0 0 142px;
  -webkit-border-radius:142px 0 0 142px;
  color:#1e2a2a;
  text-indent:-30px;
}
.fdw_right {
  background-color:#1e2a2a;
  color:#FFFFFF;
  text-indent:35px;
}
#skin .icon {
  width:71px;
  height:77px;
  position:absolute;
  top:50%;
  left:50%;
  margin:-39px auto 0 -35px;
  background: url(a.png) top center no-repeat;
  -webkit-transition: all .3s ease-in-out;
  -moz-transition: all .3s  ease-in-out;
  -o-transition: all .3s  ease-in-out;
  -ms-transition: all .3s  ease-in-out;
  transition: all .3s ease-in-out;
}
#skin a {
  font-weight:700;
  font-family: 'Open Sans Condensed','Arial Narrow', Arial, sans-serif;
  text-decoration:none;
  text-transform:uppercase;
  font-size:20px;
  -webkit-transition: background-color .3s;
  -moz-transition: background-color .3s;
  -o-transition: background-color .3s;
  -ms-transition: background-color .3s;
  transition: background-color .3s;
}
#skin a:hover {
  background-color:#00b68f;
  color:#FFF;
}
#skin:hover {
  border:10px solid rgba(255,255,255,.5);
}
#skin:hover .icon {
  transform: rotate(360deg);
  -ms-transform: rotate(360deg); /* IE 9 */
  -webkit-transform: rotate(360deg); /* Safari and Chrome */
  background: url(b.png) top center no-repeat;
  -webkit-transition: all .3s ease-in-out;
  -moz-transition: all .3s  ease-in-out;
  -o-transition: all .3s  ease-in-out;
  -ms-transition: all .3s  ease-in-out;
  transition: all .3s ease-in-out;
}

 Nah, sekarang kita sudah berhasil membuat efek hover CSS3 dengan gambar lingkaran(circle).

Lihat demonya disini

Sekian tutorial Membuat Efek Hover Dengan Gambar Lingkaran(Circle) Menggunakan CSS3. Semoga bisa membantu. Terima kasih..