11 Teknik CSS Klasik Dibuat Sederhana dengan CSS3
Indonesian (Bahasa Indonesia) translation by Ari Ana (you can also view the original English article)
Kita semua harus mencapai beberapa efek yang membutuhkan sedikit tambahan divs atau PNG. Kita seharusnya tidak terbatas pada teknik lama ini ketika ada era baru yang akan datang. Era baru ini termasuk penggunaan CSS3. Dalam tutorial hari ini, saya akan menunjukkan sebelas efek waktu yang berbeda yang dapat dicapai dengan mudah dengan CSS3.
CSS3? Apa itu?!
Saya yakin Anda pernah mendengar tentang CSS secara umum. CSS3 tidak jauh berbeda, dalam hal sintaks; namun, kekuatan CSS3 jauh lebih besar. Seperti yang akan Anda lihat di sebelas teknik ini, Anda dapat memiliki banyak latar belakang, mengubah ukuran latar belakang secara dinamis, border radius, bayangan teks, dan banyak lagi!
Inilah situs resmi (atau paling tidak, yang saya anggap resmi) dari CSS3, css3.info, yang dikatakan tentang CSS3:
CSS3 adalah anak baru dalam keluarga stylesheet. Ini menawarkan kemungkinan baru yang menarik untuk menciptakan dampak dengan desain Anda, memungkinkan Anda menggunakan lembaran gaya yang lebih beragam untuk berbagai kesempatan dan banyak lagi.
Apa yang Akan Kita Bahas
Berikut adalah 11 teknik yang akan saya tunjukkan kepada Anda bagaimana membuat ulang dengan CSS3. Saya akan menunjukkan cara membuatnya menggunakan CSS2 (atau JavaScript), dan kemudian dengan properti CSS3. Ingat - efek ini hanya akan bekerja di browser modern yang menerapkan fitur CSS3 ini. Pilihan terbaik Anda adalah melihat ini dengan Safari 4.
- Sudut Membulat
- Bayangan Kotak
- Bayangan Teks
- Font Mewah
- Opacity
- RGBA
- Ukuran Latar Belakang
- Banyak Latar Belakang
- Kolom
- Border Gambar
- Animasi
1. Sudut Membulat



Mungkin favorit saya di daftar ini, sudut membulat menyediakan pengembang dengan begitu banyak pilihan. Anda dapat membuat tombol sudut membulat dalam hitungan detik. Hal favorit yang saya lakukan adalah mengatur latar belakang gradien untuk mengulangi sepanjang sumbu x dan kemudian menerapkan sudut membulat untuk membuat tombol Web 2.0 yang sangat bagus.
Anda dapat mensimulasikan sudut membulat dengan menggunakan empat div ekstra atau dengan menggunakan JavaScript. Meskipun, pengguna tidak melihat sudut halus ini jika JavaScript dinonaktifkan, saya rasa tidak masalah selama situs web tetap berfungsi sebagaimana mestinya. Anda bisa membaca metode ini jika Anda lebih suka menggunakan CSS murni dalam membuat sudut yang membulat.
Cara Klasik
1 |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> |
2 |
<script type="text/javascript" src="js/jquery.corners.js"></script> |
3 |
<script type="text/javascript"> |
4 |
$(function(){ |
5 |
$('.box').corners('10px'); |
6 |
});
|
7 |
</script>
|
8 |
|
9 |
<div class="box"> |
10 |
<!--CONTENT-->
|
11 |
</div>
|
Metode klasik menggunakan jQuery beserta plugin JavaScript yang disebut Corners.
Cara CSS3
1 |
<style type="text/css"> |
2 |
.box { |
3 |
border-radius: 10px; |
4 |
-moz-border-radius: 10px; |
5 |
-webkit-border-radius: 10px; |
6 |
}
|
7 |
</style>
|
8 |
|
9 |
<div class="box"> |
10 |
<!--CONTENT-->
|
11 |
</div>
|
Seperti yang bisa Anda lihat, semua yang perlu Anda lakukan adalah menentukan tiga properti CSS3. Akhirnya, itu hanya akan menjadi satu; Anda harus menggunakan tiga sekarang karena browser yang berbeda menggunakan nama properti yang berbeda.
2. Bayangan Kotak



Bayangan KotakBayangan kotak memberi Anda alat yang sangat hebat. 99% dari waktu ketika saya sedang mendesain, saya menemukan diri saya menggunakan bayang-bayang untuk sesuatu. Sekali lagi, saya akan menggunakan plugin jQuery untuk mengurus cara klasik karena jujur, mencoba untuk mengetahuinya dengan hanya CSS adalah membingungkan. Mengapa saya harus membuang waktu dengan mengutak-atik margin negatif saat sudah ada sesuatu yang ditulis untuk pekerjaan tersebut? Selama desain saya terlihat bagus saat orang menonaktifkan JavaScript, saya sangat puas menggunakan plugin jQuery.
Cara Klasik
1 |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> |
2 |
<script type="text/javascript" src="js/jquery.dropShadow.js"></script> |
3 |
<script type="text/javascript"> |
4 |
$(function(){ |
5 |
$('.box').dropShadow({ |
6 |
left: 5, |
7 |
top: 5, |
8 |
opacity: 1.0, |
9 |
color: 'black' |
10 |
});
|
11 |
});
|
12 |
</script>
|
13 |
|
14 |
<div class="box"> |
15 |
<!--CONTENT-->
|
16 |
</div>
|
Saya menggunakan plugin dropshadow. Sederhana dan apa yang saya inginkan; meskipun saya lebih suka hanya menggunakan CSS;).
Cara CSS3
1 |
<style type="text/css"> |
2 |
.box { |
3 |
box-shadow: 5px 5px 2px black; |
4 |
-moz-box-shadow: 5px 5px 2px black; |
5 |
-webkit-box-shadow: 5px 5px 2px black; |
6 |
}
|
7 |
</style>
|
8 |
|
9 |
<div class="box"> |
10 |
<!--CONTENT-->
|
11 |
</div>
|
Nilai untuk properti bayangan kotak adalah: x-offset y-offset blur color. Jauh lebih mudah daripada mengimpor dua file JavaScript, dan BANYAK lebih mudah daripada mengotak-atik gambar latar belakang dan margin negatif.
3. Bayangan Teks



Bayangan TeksJika Anda pernah membaca tutorial tentang bagaimana membuat efek letterpress di Photoshop, Anda akan tahu bahwa efek drop shadow yang digunakan. Ini sangat mudah untuk membuat teks letterpress, cukup ikuti tutorial ini di Line25 oleh Chris Spooner.
Cara Klasik
1 |
<style type="text/css"> |
2 |
.font { |
3 |
font-size: 20px; |
4 |
color: #2178d9; |
5 |
}
|
6 |
.fonts { |
7 |
position: relative; |
8 |
}
|
9 |
.fonts .font { |
10 |
position: absolute; |
11 |
z-index: 200; |
12 |
}
|
13 |
.fonts .second { |
14 |
top: 1px; |
15 |
color: #000; |
16 |
z-index: 100; |
17 |
}
|
18 |
</style>
|
19 |
|
20 |
<div class="fonts"> |
21 |
<span class="font">The quick brown fox jumps over the lazy dog.</span> |
22 |
<span class="font second">The quick brown fox jumps over the lazy dog.</span> |
23 |
</div>
|
Alih-alih menggunakan plugin jQuery kali ini, saya hanya menggunakan beberapa trik CSS sederhana untuk benar-benar memposisikan teks di balik teks teks lainnya. Satu-satunya hal buruk tentang tidak menggunakan CSS3 untuk situasi ini adalah Anda akan mendapatkan dua salinan teks jika CSS dinonaktifkan.
Cara CSS3
1 |
<style type="text/css"> |
2 |
.font { |
3 |
font-size: 20px; |
4 |
color: #2178d9; |
5 |
}
|
6 |
.font { |
7 |
text-shadow: 0 1px 0 #000; |
8 |
}
|
9 |
</style>
|
10 |
|
11 |
<span class="font">The quick brown fox jumps over the lazy dog.</span> |
Jika Anda berencana menggunakan bayangan teks yang kabur (opsi "ketiga" di properti text-shadow), saya tidak tahu bagaimana Anda akan melakukannya dengan CSS murni, dan tanpa gambar.
4. Font Mewah



Font MewahKami telah mengimpikannya untuk waktu yang lama sekarang, namun akhirnya Anda dapat menampilkan "font mewah" di web tanpa bergantung pada JavaScript. Tentu hal ini menyebabkan beberapa masalah dengan membiarkan font berbayar didistribusikan melalui internet. Bagaimanapun, saya hadirkan dengan @font-face.
Cara Klasik
1 |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> |
2 |
<script type="text/javascript" src="js/cufon.js"></script> |
3 |
<script type="text/javascript" src="js/loyal.js"></script> |
4 |
<script type="text/javascript"> |
5 |
$(function(){ |
6 |
Cufon.replace('.classic .font'); |
7 |
});
|
8 |
</script>
|
9 |
<style type="text/css"> |
10 |
.font { |
11 |
font-size: 20px; |
12 |
}
|
13 |
</style>
|
14 |
|
15 |
<span class="font">The quick brown fox jumps over the lazy dog.</span> |
Saya memutuskan untuk menggunakan Cufón untuk mengganti teksnya. Saya tidak akan menjelaskan bagaimana cara menggunakannya karena Jeffrey sudah memiliki screencast yang mengagumkan.
Cara CSS3
1 |
<style type="text/css"> |
2 |
@font-face { |
3 |
font-family: 'Loyal'; |
4 |
src: url('loyal.ttf'); |
5 |
}
|
6 |
.font { |
7 |
font-family: Loyal; |
8 |
font-size: 20px; |
9 |
}
|
10 |
</style>
|
11 |
|
12 |
<span class="font">The quick brown fox jumps over the lazy dog.</span> |
Kita membuat keluarga font dengan @font-face dan kemudian menggunakannya sebagai nilai untuk font-family. Michael Owens menulis artikel di sini sekitar sebulan yang lalu yang menjelaskan @font-face dengan cukup baik.
5. Opacity



OpacityJika Anda telah mengunjungi desain ulang situs web Envato akhir-akhir ini, Anda mungkin telah memperhatikan bahwa ada banyak elemen transparan. Meskipun ini dicapai dengan PNG transparan, Anda dapat mencapai efek yang sama dengan menggunakan properti opacity. Sekarang, properti opacity telah ada untuk sementara waktu, tapi IE tercinta kita memiliki propertinya sendiri.
Cara Klasik
1 |
<style type="text/css"> |
2 |
.box { |
3 |
opacity: .6; // all modern browsers (this is CSS3) |
4 |
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; // IE 8 |
5 |
filter: alpha(opacity=60); // IE 5-7 |
6 |
}
|
7 |
</style>
|
8 |
|
9 |
<div class="box"> |
10 |
<!--CONTENT-->
|
11 |
</div>
|
Cara CSS3
1 |
<style type="text/css"> |
2 |
.box { |
3 |
opacity: .6; |
4 |
}
|
5 |
</style>
|
6 |
|
7 |
<div class="box"> |
8 |
<!--CONTENT-->
|
9 |
</div>
|
Dengan CSS3, kami hanya menghilangkan dua properti yang spesifik untuk IE, bukankah itu hebat ?!
6. RGBA



RGBASemua orang tahu apa singkatan RGB (red, green, blue), tapi apa singkatan A? Ini singkatan dari alpha, yang mengacu pada transparansi.
Selain sudut membulat, RGBA adalah properti CSS3 saya yang paling sering digunakan. Terkadang saya hanya ingin menambahkan beberapa latar belakang putih/hitam terang ke link navigasi saat pengguna mengarahkan kursor ke mereka. Ini jauh lebih mudah daripada membuat gambar baru untuk setiap warna; namun, dengan sedikit PHP itu membuat segalanya menjadi lebih mudah.
Cara Klasik
Melihat bagaimana ini bukan artikel PHP, saya tidak akan membahas PHP. Simpan saja file ini sebagai rgba.php dan bila Anda memerlukan warna RGBA tertentu, buat latar belakang "color" sebagai url(rgba.php?r=R&g=G&b=B&a=A).
1 |
<?php
|
2 |
$image = imagecreatetruecolor(1, 1);
|
3 |
$r = (int)$_GET['r'];
|
4 |
$g = (int)$_GET['g'];
|
5 |
$b = (int)$_GET['b'];
|
6 |
$a = (float)$_GET['a'];
|
7 |
$white = imagecolorallocate($image, 255, 255, 255);
|
8 |
$color = imagecolorallocatealpha($image, $r, $g, $b, 127*(1-$a));
|
9 |
imagefill($image, 0, 0, $white);
|
10 |
imagefilledrectangle($image, 0, 0, 1, 1, $color);
|
11 |
|
12 |
header('Content-type: image/png');
|
13 |
imagepng($image);
|
14 |
?>
|
Sekarang terapkan ke div...
1 |
<style type="text/css"> |
2 |
.box { |
3 |
background: url(rgba.php?r=239&g=182&b=29&a=.25); |
4 |
}
|
5 |
</style>
|
6 |
|
7 |
<div class="box"> |
8 |
<!--CONTENT-->
|
9 |
</div>
|
Cara CSS3
1 |
<style type="text/css"> |
2 |
.box { |
3 |
background: rgba(239, 182, 29, .25); |
4 |
}
|
5 |
</style>
|
6 |
|
7 |
<div class="box"> |
8 |
<!--CONTENT-->
|
9 |
</div>
|
7. Ukuran Latar Belakang



Ukuran Latar BelakangProperti ukuran latar belakang adalah hal yang menakjubkan untuk dimiliki pada sabuk alat Anda saat Anda membuat tata letak yang cair.Contohnya bisa jadi bila Anda memiliki gambar latar belakang untuk wadah yang ada di sidebar. Cara klasik untuk melakukan ini memerlukan tweaker agar gambar diulang sepanjang sumbu y, namun dengan CSS3, ini seperti menambahkan properti latar belakang lainnya.
Cara Klasik
1 |
<style type="text/css"> |
2 |
.box { |
3 |
position: relative; |
4 |
overflow: hidden; |
5 |
}
|
6 |
.box img { |
7 |
position: absolute; |
8 |
top: 0; |
9 |
left: 0; |
10 |
width: 50%; |
11 |
height: 50%; |
12 |
z-index: 100; |
13 |
}
|
14 |
.box .content { |
15 |
position: absolute; |
16 |
z-index: 200; |
17 |
}
|
18 |
</style>
|
19 |
|
20 |
<div class="box"> |
21 |
<div class="content"> |
22 |
<!--CONTENT-->
|
23 |
</div>
|
24 |
<img src="http://nettuts.s3.amazonaws.com/423_screenr/200x200.jpg" alt="" /> |
25 |
</div>
|
Cara CSS3
1 |
<style type="text/css"> |
2 |
.box { |
3 |
background: #ccc url(http://nettuts.s3.amazonaws.com/423_screenr/200x200.jpg) no-repeat; |
4 |
-webkit-background-size: 50%; /* Safari */ |
5 |
-o-background-size: 50%; /* Opera */ |
6 |
-khtml-background-size: 50%; /* Konqueror */ |
7 |
}
|
8 |
</style>
|
9 |
|
10 |
<div class="box"> |
11 |
<!--CONTENT-->
|
12 |
</div>
|
Sayangnya, properti ini tidak diimplementasikan ke Firefox (V3.5.2) pada saat penulisan ini.
8. Banyak Latar Belakang



Ah, banyak latar belakang. Sekarang ini memberi pengembang alat yang sangat ampuh. Saya bisa memikirkan begitu banyak hal yang membutuhkan banyak divs untuk memiliki lebih dari satu latar belakang. Tempat yang paling umum saya dapat melihat ini bermanfaat adalah di bagian header situs web, tapi itu hanya hal pertama yang saya pikirkan.
Cara Klasik
1 |
<style type="text/css"> |
2 |
.box { |
3 |
width: 200px; |
4 |
height: 150px; |
5 |
background: url(images/bg.png) repeat-x; |
6 |
}
|
7 |
.box2 { |
8 |
width: 100%; |
9 |
height: 100%; |
10 |
background: url(images/text.png) center center no-repeat; |
11 |
}
|
12 |
</style>
|
13 |
|
14 |
<div class="box"> |
15 |
<div class="box2"> |
16 |
<!--CONTENT-->
|
17 |
</div>
|
18 |
</div>
|
Metode klasiknya cukup jelas, cukup bungkus div dengan div lain dan seterusnya untuk setiap latar belakang yang Anda butuhkan. Menghasilkan kode yang enak dilihat, bukan?
Cara CSS3
1 |
<style type="text/css"> |
2 |
.box { |
3 |
width: 200px; |
4 |
height: 150px; |
5 |
background: url(images/text.png) center center no-repeat, url(images/bg.png) repeat-x; |
6 |
}
|
7 |
</style>
|
8 |
|
9 |
<div class="box"> |
10 |
<!--CONTENT-->
|
11 |
</div>
|
Sintaksnya sangat mudah didapat. Yang Anda lakukan untuk banyak latar belakang adalah menambahkan koma di antara masing-masing! Namun, sekali lagi, ini adalah properti terbatas dan hanya di Safari.
9. Kolom



KolomIni adalah properti CSS3 yang paling menarik yang pernah saya ketahui. Ini bukan sesuatu yang Anda lihat banyak dalam desain web. Saya sendiri, saya hanya melihat kolom seperti surat kabar satu atau dua kali; namun, saya suka bagaimana efeknya terlihat bila dilakukan dengan benar. Biasanya Anda akan memisahkan konten menjadi div dan mem-float div tersebut, tapi saya menemukan plugin jQuery yang secara dinamis me-render kolom.
Cara Klasik
1 |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> |
2 |
<script type="text/javascript" src="js/jquery.columnize.js"></script> |
3 |
<script type="text/javascript"> |
4 |
$(function(){ |
5 |
$('.columns').columnize({ |
6 |
columns: 2 |
7 |
});
|
8 |
});
|
9 |
</script>
|
10 |
<style type="text/css"> |
11 |
.column { |
12 |
padding-right: 10px; |
13 |
}
|
14 |
.column.last { |
15 |
padding: 0; |
16 |
}
|
17 |
</style>
|
18 |
|
19 |
<div class="columns"> |
20 |
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla elementum accumsan mi. Maecenas id dui a magna tempor pretium. Quisque id enim. Proin id tortor. Curabitur sit amet enim vitae quam pharetra imperdiet. Nulla diam ante, pellentesque eu, vestibulum non, adipiscing nec, eros. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis a nunc. Donec non dui a velit pulvinar gravida. Nunc rutrum libero vel tortor. Duis sed mi eu metus tincidunt ullamcorper. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In purus lorem, aliquam ac, congue ac, vestibulum quis, felis. Aliquam non sapien.</p> |
21 |
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla elementum accumsan mi. Maecenas id dui a magna tempor pretium. Quisque id enim. Proin id tortor. Curabitur sit amet enim vitae quam pharetra imperdiet. Nulla diam ante, pellentesque eu, vestibulum non, adipiscing nec, eros. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis a nunc. Donec non dui a velit pulvinar gravida. Nunc rutrum libero vel tortor. Duis sed mi eu metus tincidunt ullamcorper. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In purus lorem, aliquam ac, congue ac, vestibulum quis, felis. Aliquam non sapien.</p> |
22 |
</div>
|
Saya telah menambahkan sedikit padding ke kolom sehingga teks tidak dilanggar satu sama lain.
Cara CSS3
1 |
<style type="text/css"> |
2 |
.columns { |
3 |
-moz-column-count: 2; |
4 |
-webkit-column-count: 2; |
5 |
}
|
6 |
</style>
|
7 |
|
8 |
<div class="columns"> |
9 |
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla elementum accumsan mi. Maecenas id dui a magna tempor pretium. Quisque id enim. Proin id tortor. Curabitur sit amet enim vitae quam pharetra imperdiet. Nulla diam ante, pellentesque eu, vestibulum non, adipiscing nec, eros. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis a nunc. Donec non dui a velit pulvinar gravida. Nunc rutrum libero vel tortor. Duis sed mi eu metus tincidunt ullamcorper. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In purus lorem, aliquam ac, congue ac, vestibulum quis, felis. Aliquam non sapien.</p> |
10 |
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla elementum accumsan mi. Maecenas id dui a magna tempor pretium. Quisque id enim. Proin id tortor. Curabitur sit amet enim vitae quam pharetra imperdiet. Nulla diam ante, pellentesque eu, vestibulum non, adipiscing nec, eros. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis a nunc. Donec non dui a velit pulvinar gravida. Nunc rutrum libero vel tortor. Duis sed mi eu metus tincidunt ullamcorper. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In purus lorem, aliquam ac, congue ac, vestibulum quis, felis. Aliquam non sapien.</p> |
11 |
</div>
|
Ada beberapa properti kolom CSS3 lainnya yang dapat Anda terapkan, namun untuk tujuan demonstratif, saya hanya menentukan jumlah kolom. Jika Anda ingin mempelajari lebih lanjut tentang properti lainnya, lihat halaman multi-kolom di CSS3.info.
10. Border Gambar



Border GambarSaya tidak memiliki petunjuk tentang properti border gambar sampai saya mengupgrade ke Firefox 3.5 dan mengunjungi situs Chris Spooner dan melihat bahwa gambar postingnya memiliki border gambar. Saya pribadi tidak tertarik pada properti ini, tapi itu tidak akan menghentikan saya untuk menjelaskan bagaimana mencapainya.
Cara Klasik
1 |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> |
2 |
<script type="text/javascript" src="js/jquery.borderImage.js"></script> |
3 |
<script type="text/javascript"> |
4 |
$(function(){ |
5 |
$('.classic .box').borderImage('url(images/border.png) 27 27 27 27 round round'); |
6 |
});
|
7 |
</script>
|
8 |
<style type="text/css"> |
9 |
.box { |
10 |
border-width: 20px; |
11 |
}
|
12 |
</style>
|
13 |
|
14 |
<div class="box"> |
15 |
<!--CONTENT-->
|
16 |
</div>
|
Alih-alih menghabiskan waktu membuat beberapa div dan mengulang gambar latar belakang di sekitar div, saya menemukan sebuah plugin jQuery yang melakukan pekerjaan tersebut untuk saya. Ini disebut borderImage dan bekerja seperti seharusnya.
Cara CSS3
1 |
<style type="text/css"> |
2 |
.box { |
3 |
border-width: 20px; |
4 |
-webkit-border-image: url(images/border.png) 27 round; |
5 |
-moz-border-image: url(images/border.png) 27 round; |
6 |
border-image: url(images/border.png) 27 round; |
7 |
}
|
8 |
</style>
|
9 |
|
10 |
<div class="box"> |
11 |
<!--CONTENT-->
|
12 |
</div>
|
Seperti yang bisa Anda lihat, properti border gambar agak aneh. W3 menjelaskan bagaimana hal itu akan dihitung JAUH lebih baik.
11. Animasi



AnimasiBaiklah, siapa yang tidak suka melihat beberapa elemen dengan lembut meluncur ke kiri atau memudar saat Anda hover ke sesuatu? Animasi sangat bagus untuk meningkatkan antarmuka pengguna, namun pastikan Anda tidak berlebihan! Satu-satunya browser yang mendukung animasi CSS3 adalah browser berbasis WebKit.. Satu-satunya cara lain untuk menampilkan animasi adalah dengan menggunakan JavaScript. Saya akan menggunakan jQuery karena ini adalah perpustakaan JavaScript favorit saya (jika Anda belum menebaknya sekarang).
Cara Klasik
1 |
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> |
2 |
<script type="text/javascript"> |
3 |
$(function(){ |
4 |
$('.box').hover(function(){ |
5 |
$(this).stop().animate({ |
6 |
top: '20px' |
7 |
}, 300); |
8 |
}, function(){ |
9 |
$(this).stop().animate({ |
10 |
top: '0' |
11 |
}, 300); |
12 |
});
|
13 |
});
|
14 |
</script>
|
15 |
<style type="text/css"> |
16 |
.box { |
17 |
position: relative; |
18 |
}
|
19 |
</style>
|
20 |
|
21 |
<div class="box"> |
22 |
<!--CONTENT-->
|
23 |
</div>
|
Cara CSS3
1 |
<style type="text/css"> |
2 |
.box { |
3 |
position: relative; |
4 |
-webkit-transition: top 300ms linear; |
5 |
}
|
6 |
.box:hover { |
7 |
top: 20px; |
8 |
}
|
9 |
</style>
|
10 |
|
11 |
<div class="box"> |
12 |
<!--CONTENT-->
|
13 |
</div>
|
Kedua cuplikan kode ini melakukan hal yang sama: menggeser div 20 piksel ke bawah selama 300 ms. Ingat, kode CSS3 hanya bekerja di browser Webkit!
Kesimpulan
Begitulah: 11 teknik CSS yang akan menjadi lebih mudah dengan CSS3 di (semoga dekat) masa depan. Jelas, akan lama sebelum kita bisa 100% bergantung pada properti ini di semua browser.
Jangan lupa untuk meninjau tutorial Nettuts+ lainnya yang membahas CSS3:
- Ikuti kami di Twitter, atau berlangganan Feed RSS Nettuts+ untuk tutorial dan artikel pengembangan web harian lainnya.