Menghidupkan. css adalah perpustakaan animasi lintas-browser yang siap digunakan untuk digunakan dalam proyek web Anda. Bagus untuk penekanan, beranda, penggeser, dan petunjuk pemandu perhatian
Edit ini di GitHub
Instalasi dan Penggunaan
Menginstal
Instal dengan npm
$ npm install animate.css --save
Atau instal dengan Yarn (ini hanya akan berfungsi dengan alat yang sesuai seperti Webpack, Parcel, dll. Jika Anda tidak menggunakan alat apa pun untuk mengemas atau memaketkan kode, Anda cukup menggunakan metode CDN di bawah)
$ yarn add animate.css
_
Impor ke file Anda
import 'animate.css';
Atau tambahkan langsung ke halaman web Anda menggunakan CDN
Penggunaan dasar
Setelah menginstal Animate. css, tambahkan kelas
import 'animate.css';
_8 ke elemen, bersama dengan salah satu (jangan lupa awalan
import 'animate.css';
9. )
An animated element
_
Itu dia. Anda memiliki elemen animasi CSS. Super
Animasi dapat meningkatkan UX antarmuka, tetapi perlu diingat bahwa animasi juga dapat mengganggu pengguna Anda. Harap baca bagian dan untuk menghidupkan hal-hal web Anda dengan cara terbaik
Menggunakan
_0
Meskipun perpustakaan memberi Anda beberapa kelas pembantu seperti kelas
1 agar Anda dapat menjalankan dengan cepat, Anda dapat langsung menggunakan animasi yang disediakan
2. Ini memberikan cara yang fleksibel untuk menggunakan Animate. css dengan proyek Anda saat ini tanpa harus memperbaiki kode HTML Anda
Contoh
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
Ketahuilah bahwa beberapa animasi bergantung pada properti
3 yang diatur pada kelas animasi. Mengubah atau tidak mendeklarasikannya dapat menyebabkan hasil yang tidak diharapkan
Properti Khusus CSS (Variabel CSS)
Sejak versi 4, Animate. css menggunakan properti khusus (juga dikenal sebagai variabel CSS) untuk menentukan durasi, penundaan, dan iterasi animasi. Ini membuat Animate. css sangat fleksibel dan dapat disesuaikan. Perlu mengubah durasi animasi?
Contoh
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
Properti khusus juga memudahkan untuk mengubah semua properti animasi Anda yang dibatasi waktu dengan cepat. Ini berarti Anda dapat memiliki efek gerak lambat atau selang waktu dengan javascript one-liner
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
Meskipun beberapa browser lama tidak mendukung properti khusus, Animate. css memberikan fallback yang tepat, memperluas dukungannya untuk semua browser yang mendukung animasi CSS
Edit ini di GitHub
Kelas Utilitas
Menghidupkan. css hadir dengan beberapa kelas utilitas untuk menyederhanakan penggunaannya
Kelas tunda
Anda dapat menambahkan penundaan secara langsung pada atribut kelas elemen, seperti ini
Example
Menghidupkan. css memberikan penundaan berikut
Class nameDefault delay time
4
5
6
7
8
9
An animated element
0
An animated element
1
Penundaan yang disediakan adalah dari 1 hingga 5 detik. Anda dapat menyesuaikannya dengan menyetel properti
An animated element
2 ke durasi yang lebih lama atau lebih singkat
/* All delay classes will take 2x longer to start */
:root {
--animate-delay: 2s;
}
/* All delay classes will take half the time to start */
:root {
--animate-delay: 0.5s;
}
Kelas lambat, lebih lambat, cepat, dan lebih cepat
Anda dapat mengontrol kecepatan animasi dengan menambahkan kelas-kelas ini, seperti di bawah ini
$ yarn add animate.css
0Class nameDefault speed time
An animated element
3
5
An animated element
5
7
An animated element
7
An animated element
8
An animated element
9
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
0
Kelas
import 'animate.css';
_8 memiliki kecepatan default
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
2. Anda juga dapat menyesuaikan durasi animasi melalui properti
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
3, secara global atau lokal. Ini akan memengaruhi animasi dan kelas utilitas. Contoh
$ yarn add animate.css
_1
Perhatikan bahwa beberapa animasi memiliki durasi kurang dari 1 detik. Karena kita menggunakan fungsi
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
_4 CSS, menyetel durasi melalui properti
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
5 akan mengikuti rasio ini. Jadi, saat Anda mengubah durasi global, semua animasi akan merespons perubahan itu
Kelas berulang
Anda dapat mengontrol jumlah iterasi animasi dengan menambahkan kelas-kelas ini, seperti di bawah ini
$ yarn add animate.css
2Class NameDefault iteration count
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
6
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
7
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
8
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
9
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
0
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
1
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
2
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
3
Seperti kelas penundaan dan kecepatan, kelas
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
_4 didasarkan pada properti
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
5 dan memiliki jumlah iterasi default
.my-element {
display: inline-block;
margin: 0 0.5rem;
animation: bounce; /* referring directly to the animation's @keyframe declaration */
animation-duration: 2s; /* don't forget to set a duration! */
}
7. Anda dapat menyesuaikannya dengan menyetel properti
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
5 ke nilai yang lebih panjang atau lebih pendek
$ yarn add animate.css
_3
Perhatikan bahwa
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
_2 tidak menggunakan properti khusus apa pun, dan perubahan pada
/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
--animate-duration: 2s;
}
/* This changes all the animations globally */
:root {
--animate-duration: 800ms;
--animate-delay: 0.9s;
}
5 tidak akan berpengaruh. Jangan lupa untuk membaca bagian ini untuk memanfaatkan animasi berulang dengan sebaik-baiknya
Edit ini di GitHub
Praktik terbaik
Animasi dapat sangat meningkatkan UX antarmuka, tetapi penting untuk mengikuti beberapa panduan agar tidak berlebihan dan memperburuk pengalaman pengguna di web-things Anda. Mengikuti aturan berikut harus memberikan awal yang baik
Animasi yang bermakna
Anda harus menghindari menganimasikan elemen hanya untuk kepentingannya. Perlu diingat bahwa animasi harus memperjelas niat. Animasi seperti pencari perhatian (bounce, flash, pulse, dll) harus digunakan untuk menarik perhatian pengguna ke sesuatu yang istimewa di antarmuka Anda dan tidak hanya sebagai cara untuk menghadirkan "kilat" padanya
Masuk dan keluar animasi harus digunakan untuk mengorientasikan apa yang terjadi di antarmuka, dengan jelas menandakan bahwa itu sedang bertransisi ke keadaan baru
Itu tidak berarti bahwa Anda harus menghindari menambahkan kesenangan ke antarmuka, pastikan saja bahwa animasi tidak menghalangi pengguna Anda dan kinerja halaman tidak terpengaruh oleh penggunaan animasi yang berlebihan.
Jangan menganimasikan elemen besar
Hindari itu karena tidak akan memberi banyak nilai bagi pengguna dan mungkin hanya akan menimbulkan kebingungan. Selain itu, ada kemungkinan besar animasinya akan bermutu rendah, yang berpuncak pada UX yang buruk
Jangan menganimasikan elemen root
Menganimasikan tag
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
0 atau
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
1 dapat dilakukan, tetapi Anda harus menghindarinya. Ada beberapa laporan yang menunjukkan bahwa ini dapat memicu beberapa bug browser yang aneh. Selain itu, membuat seluruh halaman terpental tidak akan memberikan nilai bagus untuk UX Anda. Jika Anda memang membutuhkan efek semacam ini, bungkus halaman Anda dalam sebuah elemen dan animasikan, seperti ini
$ yarn add animate.css
_4
Animasi tak terbatas harus dihindari
Meskipun Animasi. css menyediakan kelas utilitas untuk mengulang animasi, termasuk yang tak terbatas, Anda harus menghindari animasi tanpa akhir. Itu hanya akan mengganggu pengguna Anda dan mungkin mengganggu sebagian besar dari mereka. Jadi, gunakan dengan bijak
Pikirkan keadaan awal dan akhir elemen Anda
Semua Animasi. animasi css menyertakan properti CSS yang disebut
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
2, yang mengontrol status elemen sebelum dan sesudah animasi. Anda dapat membaca selengkapnya di sini. Menghidupkan. css default ke
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
_3, tetapi Anda dapat mengubahnya sesuai kebutuhan Anda
Jangan nonaktifkan kueri media // All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
_4
Sejak versi 3. 7. 0 Menghidupkan. css mendukung kueri media
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
4 yang menonaktifkan animasi berdasarkan preferensi sistem OS pada browser yang mendukung (sebagian besar browser saat ini mendukungnya). Ini adalah fitur aksesibilitas penting dan tidak boleh dinonaktifkan. Ini dibangun ke dalam browser untuk membantu orang dengan gangguan vestibular dan kejang. Anda dapat membaca selengkapnya di sini. Jika benda web Anda membutuhkan animasi untuk berfungsi, peringatkan pengguna, tetapi jangan nonaktifkan fitur tersebut. Anda dapat melakukannya dengan mudah hanya dengan CSS. Ini contoh sederhana
Lihat kueri media Pen Prefers-reduce-motion oleh Elton Mesquita (@eltonmesquita) di CodePen
Gotcha
Anda tidak dapat menganimasikan elemen sebaris
Meskipun beberapa browser dapat menganimasikan elemen sebaris, ini bertentangan dengan spesifikasi animasi CSS dan akan merusak beberapa browser atau akhirnya berhenti bekerja. Selalu animasikan elemen level blok atau blok sebaris (kontainer kotak dan fleksibel serta anak-anak juga merupakan elemen level blok). Anda dapat menyetel elemen ke
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
_6 saat menganimasikan elemen level sebaris
Meluap
Sebagian besar Animasi. animasi css akan memindahkan elemen melintasi layar dan mungkin membuat bilah gulir di web Anda. Ini dapat dikelola menggunakan properti
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
7. Tidak ada resep kapan dan di mana menggunakannya, tetapi ide dasarnya adalah menggunakannya di induk yang memegang elemen animasi. Terserah Anda untuk mengetahui kapan dan bagaimana menggunakannya, panduan ini dapat membantu Anda memahaminya
Interval antara pengulangan
Sayangnya, saat ini hal ini tidak mungkin dilakukan dengan CSS murni. Anda harus menggunakan Javascript untuk mencapai hasil ini
Edit ini di GitHub
Penggunaan dengan Javascript
Anda dapat melakukan banyak hal lain dengan animate. css saat Anda menggabungkannya dengan Javascript. Contoh sederhana
$ yarn add animate.css
_5
Anda dapat mendeteksi kapan animasi berakhir
$ yarn add animate.css
_6
atau mengubah durasinya
$ yarn add animate.css
_7
Anda juga dapat menggunakan fungsi sederhana untuk menambahkan kelas animasi dan menghapusnya secara otomatis
$ yarn add animate.css
_8
Dan gunakan seperti ini
$ yarn add animate.css
_9
Jika Anda kesulitan memahami fungsi sebelumnya, lihat const, classList, fungsi panah, dan Janji
Edit ini di GitHub
Migrasi dari v3. x dan Bawah
Menghidupkan. css v4 membawa beberapa peningkatan, peningkatan animasi, dan animasi baru, yang membuatnya layak untuk ditingkatkan. Namun, itu juga datang dengan perubahan besar. kami telah menambahkan awalan untuk semua Animate. kelas css - default ke
import 'animate.css';
_9 - jadi migrasi langsung tidak mungkin dilakukan
Tapi jangan takut. Meskipun build default,
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
_9, membawa awalan
import 'animate.css';
9 kami juga menyediakan file
Example
1 yang tidak membawa awalan sama sekali, seperti versi sebelumnya (3. x dan di bawah)
Jika Anda menggunakan bundler, perbarui impor Anda
dari
import 'animate.css';
0
ke
import 'animate.css';
1
Perhatikan bahwa bergantung pada konfigurasi proyek Anda, ini mungkin sedikit berubah
Jika menggunakan CDN, perbarui tautan di HTML Anda
dari
import 'animate.css';
2
ke
import 'animate.css';
_3
Dalam kasus proyek baru, sangat disarankan untuk menggunakan versi awalan default karena akan memastikan bahwa Anda tidak akan memiliki kelas yang bertentangan dengan proyek Anda. Selain itu, di versi yang lebih baru, kami mungkin memutuskan untuk menghentikan file
Example
1
Edit ini di GitHub
Build Kustom
Pembuatan khusus tidak dimungkinkan dari folder node_modules karena kami tidak mengirimkan alat bangunan di modul npm
Menghidupkan. css diberdayakan oleh npm, postcss + postcss-preset-env, yang berarti Anda dapat membuat build kustom dengan cukup mudah, menggunakan CSS masa depan dengan fallback yang tepat
Pertama-tama, Anda memerlukan Node dan semua dependensi lainnya
import 'animate.css';
_4
Selanjutnya, jalankan
Example
_3 untuk mengkompilasi build kustom Anda. Tiga file akan dihasilkan
Example
_4. build mentah, mudah dibaca dan tanpa pengoptimalan apa pun
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
_9. bangunan mini yang siap untuk diproduksi
Example
_1. build yang diperkecil siap untuk produksi tanpa awalan kelas. Ini seharusnya hanya digunakan sebagai jalur mudah untuk migrasi
Misalnya, jika Anda hanya akan menggunakan beberapa animasi "pencari perhatian", cukup edit file
Example
7, hapus setiap
Example
8 dan yang ingin Anda gunakan
import 'animate.css';
5
Sekarang, jalankan saja
Example
_3 dan build Anda yang sangat optimal akan dibuat di akar proyek
Mengubah awalan default
Cukup mudah untuk mengubah awalan animate pada build kustom Anda. Ubah properti
/* All delay classes will take 2x longer to start */
:root {
--animate-delay: 2s;
}
/* All delay classes will take half the time to start */
:root {
--animate-delay: 0.5s;
}
_0
/* All delay classes will take 2x longer to start */
:root {
--animate-delay: 2s;
}
/* All delay classes will take half the time to start */
:root {
--animate-delay: 0.5s;
}
1 di file
/* All delay classes will take 2x longer to start */
:root {
--animate-delay: 2s;
}
/* All delay classes will take half the time to start */
:root {
--animate-delay: 0.5s;
}
2 dan bangun kembali perpustakaan dengan
Example
3
import 'animate.css';
6
kemudian
import 'animate.css';
7
Mudah sekali
Edit ini di GitHub
Aksesibilitas
Menghidupkan. css mendukung kueri media
// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');
// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');
4 sehingga pengguna dengan kepekaan gerakan dapat menyisih dari animasi. Pada platform yang didukung (saat ini semua browser dan OS utama, termasuk seluler), pengguna dapat memilih "kurangi gerakan" pada preferensi sistem operasi mereka, dan itu akan mematikan transisi CSS untuk mereka tanpa perlu kerja lebih lanjut
Edit ini di GitHub
Tim inti
Daniel EdenElton MesquitaWaren GonzagaAnimate. css CreatorMaintainerCore Contributor
Edit ini di GitHub
Lisensi dan Berkontribusi
Menghidupkan. css dilisensikan di bawah Lisensi Hipokrates
Berkontribusi
Permintaan tarik adalah cara untuk pergi ke sini. Kami hanya memiliki dua aturan untuk mengirimkan permintaan penarikan. cocok dengan konvensi penamaan (camelCase, dikategorikan [memudar, memantul, dll. ]) dan mari kita lihat demo animasi yang dikirim dalam pena. Yang terakhir itu penting
Kode etik
Proyek ini dan semua orang yang berpartisipasi di dalamnya diatur oleh Kode Etik Perjanjian Kontributor. Dengan berpartisipasi, Anda diharapkan menjunjung tinggi kode ini. Silakan laporkan perilaku yang tidak dapat diterima ke animate@eltonmesquita. com
Apa saja delapan properti animasi?
Properti penyusun .
animasi-penundaan
animasi-arah
durasi animasi
mode-pengisian-animasi
animasi-iterasi-jumlah
nama-animasi
animasi-play-state
animasi-waktu-fungsi
Animasi apa yang dapat Anda lakukan di CSS?
Jenis Animasi CSS .
Animasi Teks CSS. Tipografi animasi dapat langsung menarik perhatian pengunjung Anda. .
Animasi Warna CSS. .
Animasi Geser. .
Animasi Putar CSS. .
Animasi Cahaya CSS. .
Animasi Bouncing CSS. .
Animasi Fade-in CSS. .
Animasi CSS Hover
Apa itu animasi CSS
Properti CSS nama-animasi menentukan nama dari satu atau beberapa at-rules @keyframes yang menjelaskan animasi untuk diterapkan ke elemen . Beberapa at-rules @keyframe ditetapkan sebagai daftar nama yang dipisahkan koma. Jika nama yang ditentukan tidak cocok dengan aturan @keyframe mana pun, tidak ada properti yang dianimasikan.
Ada berapa jenis animasi di CSS?
fungsi pengaturan waktu animasi . penundaan animasi . penghitungan-animasi-iterasi . arah-animasi .