Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Belajar CSS3: Membuat Animasi Pohon Natal

Posted on December 18, 2014

Menyambut Natal tahun 2014 bagi yang merayakan, eksperimen ini layak anda uji coba di website dan blog anda. Dengan teknologi CSS3 dan browser modern (Firefox, Chrome, Safari, Opera) kita bisa menikmati animasi pohon natal yang unik tanpa menggunakan library tambahan seperti Flash atau GIF.

Siapkan, file HTML yang akan disisipi animasi ini. Tambahkan baris berikut:
[sourcecode language=”html”]
<div id="container">
<div id="tree">
<div class="layer">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div class="layer">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div class="layer">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div class="layer">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
</div>
[/sourcecode]

Kemudian tambahkan style CSS3 berikut pada file CSS anda:
[sourcecode language=”css”]
/*

Copyright (c) 2010 Sebastien P.

http://twitter.com/_sebastienp

MIT licensed.

—

A full CSS 3D rotating Christmas tree using
CSS3 animation, transforms, gradients etc.

The text size can be adjusted to make the tree
zoom in.

Only works in recent Webkit-based browsers.

Fallbacks :
– http://yfrog.us/20kzsz (video)
– http://yfrog.com/h2eodej (picture)

*/

/* Create a Webkit animation called "rotation" */

@-webkit-keyframes rotation {
from {
-webkit-transform: rotateY(0)
}
to {
-webkit-transform: rotateY(360deg)
}
}

/* Set some global styles for the container div */

#container {
font-size: 200%;
padding: 50px;
position: relative;
-webkit-perspective: 800;
}

/*
Initiate the rotation animation on the tree div.
The use of "preserve-3d" is really important here.
*/

#tree {
-webkit-animation: rotation 20s infinite linear;
-webkit-transform-style: preserve-3d
}

/* Set some different angle transforms to the layer divs */

.layer:nth-child(2) {
-webkit-transform: rotateY(45deg)
}

.layer:nth-child(3) {
-webkit-transform: rotateY(90deg)
}

.layer:nth-child(4) {
-webkit-transform: rotateY(135deg)
}

/*
This is the trick to make some full CSS triangles.
Combination of "left" and "negative" margin-left
is for horizontal centering.
*/

.layer > div {
border: 1em solid transparent;
content: "";
height: 0;
left: 50%;
margin-left: -1em;
position: absolute;
top: 0;
width: 0
}

/* Set some different color changes to the triangles */

.layer:nth-child(1) > div {
border-bottom-color: #090
}

.layer:nth-child(2) > div {
border-bottom-color: #080
}

.layer:nth-child(3) > div {
border-bottom-color: #070
}

.layer:nth-child(4) > div {
border-bottom-color: #060
}

/* Set some different size changes to the triangles */

.layer > div:nth-child(2) {
font-size: 1.5em
}

.layer > div:nth-child(3) {
font-size: 2em
}

.layer > div:nth-child(4) {
font-size: 2.5em
}

.layer > div:nth-child(5) {
font-size: 3em
}

/* Add some Christmas balls to the tree */

.layer > div:not(:nth-child(5))::before,
.layer > div:not(:nth-child(5))::after {
content: "";
display: block;
height: 0.25em;
position: absolute;
top: 0.875em;
width: 0.25em;
-webkit-border-radius: 0.25em
}

.layer > div:not(:nth-child(5))::before {
left: -1.125em;
}

.layer > div:not(:nth-child(5))::after {
right: -1.125em;
}

/* Set the Christmas balls colors nearly random style */

.layer > div:nth-child(odd):not(:nth-child(5))::after,
.layer > div:nth-child(even)::before {
background: -webkit-gradient(
linear,
right top,
left bottom,
from(#ff0),
to(#000)
) #ff0;
}

.layer > div:nth-child(odd):not(:nth-child(5))::before,
.layer > div:nth-child(even)::after {
background: -webkit-gradient(
linear,
right top,
left bottom,
from(#f00),
to(#000)
) #f00;
}
[/sourcecode]

Dan, lihat hasilnya:
christmas-tree

Lihat demo aslinya di JSFidle: http://jsfiddle.net/h8wrM/68/. Terimakasih untuk om Sebastien Paul.

Oh ya, SELAMAT NATAL 2014 BAGI TEMEN-TEMEN YANG MERAYAKAN!

Terbaru

  • Inilah Jadwal dan Lokasi Pemadaman Lampu Serentak Jakarta 25 April 2026, Yuk Ikut Berpartisipasi!
  • Inilah Alasan Mengapa Spanduk “Shut Up KDM” Muncul Saat Laga Persib vs Arema di GBLA
  • Inilah Kenapa Akun TikTok Hilang Tiba-tiba dan Cara Memulihkannya dengan Cepat
  • Inilah 7 Keterampilan Penting yang Wajib Kalian Miliki Supaya Sukses Belajar Online Tanpa Rasa Pusing
  • Inilah Update Terbaru Kasus Video Asusila Pasangan Bandar Batang yang Kini Masuk Tahap Penyidikan
  • Inilah 9 Aplikasi Penghasil Saldo DANA Tercepat dan Terbukti Membayar Tanpa Perlu Deposit
  • Inilah Cara Mengaktifkan Fitur Vertical Tab di Google Chrome Biar Tampilan Browser Kalian Makin Lega dan Rapi
  • Inilah Alasan Kenapa elementary OS Adalah Pilihan Paling Pas Buat Pengguna macOS yang Ingin Coba Linux
  • Inilah Alasan Kenapa Windows Server Kalian Restart Terus Setelah Update April 2026
  • Inilah Alasan Layar TV Kalian Sering Kedip Hitam Saat Main Game dan Cara Mengatasinya
  • Inilah Rekomendasi HP Redmi Note RAM 12 GB dan Koneksi 5G Paling Worth It Buat Kalian
  • Inilah Bocoran Event FF Mei 2026 yang Siap Bikin Dompet Kering, Ada Kuda dan MP40 Cobra!
  • Inilah Kejutan Kompensasi Bug FC Mobile 18 April 2026, Ada Kartu Flashback Gratis yang Bikin Skuad Makin Gahar!
  • Inilah Greenwashing: Trik Nakal Perusahaan Biar Terlihat Ramah Lingkungan Padahal Enggak!
  • Inilah Rekomendasi Parfum Segar untuk Cuaca Panas Agar Kalian Tetap Wangi Seharian Tanpa Bikin Pusing
  • Inilah 12 Aplikasi TV Online Terbaik 2026, Nonton Siaran Langsung Jadi Makin Gampang!
  • Inilah Rekomendasi Kipas Angin Dinding Terbaik Buat Ngatasin Cuaca Panas Tanpa Bikin Kantong Jebol
  • Inilah Cara Sewa Mobil yang Aman dan Nyaman Biar Liburan Kalian Makin Seru Tanpa Drama
  • Inilah Cara Daftar Lowongan 30.000 Manajer Koperasi Desa Merah Putih, Cek Jadwal Lengkapnya Di Sini!
  • Inilah Cara Daftar Lowongan 1.369 Manajer Operasional Kampung Nelayan Merah Putih Jadi Pegawai BUMN!
  • Inilah Perbedaan Skin Tint, Cushion, dan Foundation Biar Kalian Nggak Salah Pilih Base Makeup Natural
  • Inilah Rekomendasi Sepeda Lipat Dewasa Terbaik 2026 yang Paling Praktis untuk Kebutuhan Commuting dan Olahraga Harian
  • Inilah 5 Rekomendasi Sepeda Lipat Listrik Jarak Tempuh Terjauh Biar Mobilitas Kalian Makin Praktis!
  • Inilah 30 Ucapan Hari Kartini 2026 Paling Bermakna untuk Caption Media Sosial dan Pesan Personal yang Inspiratif
  • Inilah Cara Daftar Manajer Koperasi Merah Putih, Peluang Karir BUMN dengan 30.000 Formasi
  • Inilah 5 Rekomendasi Bedak Two Way Cake Anti Oksidasi Supaya Wajah Nggak Terlihat Kusam dan Gelap
  • Inilah Syarat dan Cara Mengurus Surat Sehat Jasmani Rohani untuk Daftar Manajer Kopdes Merah Putih
  • Inilah Alasan Harga Plastik Naik dan 7 Alternatif Kemasan Ramah Lingkungan yang Lebih Hemat buat UMKM
  • Inilah Profil Syekh Ahmad Al Misry dan Rekam Jejaknya yang Sedang Viral di Media Sosial
  • Inilah Alasan HP Nokia Jadul Harganya Masih Selangit dan Banyak Diburu Kolektor di Tahun 2026
  • Is it Time to Replace Nano? Discover Fresh, the Terminal Text Editor You Actually Want to Use
  • How to Design a Services Like Google Ads
  • How to Fix 0x800ccc0b Outlook Error: Step-by-Step Guide for Beginners
  • How to Fix NVIDIA App Error on Windows 11: Simple Guide
  • How to Fix Excel Formula Errors: Quick Fixes for #NAME
  • How to Master Claude & NotebookLM to Boost Research and Productivity
  • How to create professional design prototypes and presentations with the power of Claude Design & Figma
  • How to Master Claude Code 2.0: The Ultimate Guide to AI Automation
  • How to Create Consistent AI-Generated Short Films and Assets with Seedance 2.0
  • How to create stunning sci-fi AI movie visuals like a pro With Seedance 2.0
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025

©2026 emka.web.id | Design: Newspaperly WordPress Theme