Geser ke atas dan ke bawah animasi css
Atas Show
W3. Kelas Animasi CSSW3. CSS menyediakan kelas berikut untuk animasi ClassDefinesw3-animate-topSlides dalam elemen dari atas (-300px ke 0)w3-animate-bottomSlides dalam elemen dari bawah (-300px ke 0)w3-animate-leftSlides dalam elemen dari kiri (-300px ke 0) . 8 detikw3-animate-zoomMenganimasi elemen dari 0 hingga 100% dalam ukuranw3-animate-fadingMenganimasi opacity elemen dari 0 hingga 1 dan 1 ke 0 (fades in + fade out)w3-spinMemutar elemen 360 derajatAnimate TopSlide kelas w3-animate-top dalam elemen dari atas (dari -300px ke 0) Contoh
Animasikan BawahKelas w3-animate-bottom meluncur dalam elemen dari bawah (dari -300px ke 0) Contoh
Animasikan KiriKelas w3-animate-left meluncur dalam elemen dari kiri (-300px ke 0) Contoh
Animasi KananKelas w3-animate-right meluncur dalam elemen dari kanan (-300px ke 0) Contoh
Memudar di ElemenKelas w3-animate-opacity menganimasikan opacity elemen dari 0 menjadi 1 dalam 0. 8 detik Fade dalam elemen dengan kelas w3-animate-opacity Perbesar ElemenKelas w3-animate-zoom menganimasikan elemen dari ukuran 0 hingga 100%. Perbesar elemen dengan kelas w3-animate-zoom Elemen PutarKelas w3-spin memutar elemen 360 derajat Memudar Tak TerbatasKelas w3-animate-fading memudar masuk dan keluar elemen setiap 10 detik (terus menerus) Animasi Fade In dan OutPudar SemuaContohCobalah sendiri " Animasi CSS memungkinkan untuk menganimasikan transisi dari satu konfigurasi gaya CSS ke konfigurasi lainnya. Animasi terdiri dari dua komponen, gaya yang menjelaskan animasi CSS dan sekumpulan keyframe yang menunjukkan status awal dan akhir gaya animasi, serta kemungkinan titik arah perantara Ada tiga keunggulan utama animasi CSS dibandingkan teknik animasi berbasis skrip tradisional
Untuk membuat rangkaian animasi CSS, Anda memberi gaya pada elemen yang ingin Anda animasikan dengan properti 0 atau sub-propertinya. Ini memungkinkan Anda mengonfigurasi pengaturan waktu, durasi, dan detail lain tentang bagaimana urutan animasi akan berkembang. Ini tidak mengonfigurasi tampilan sebenarnya dari animasi, yang dilakukan menggunakan aturan 1 seperti yang dijelaskan pada bagian di bawah iniSub-properti dari 0 properti adalah _3Menentukan penundaan antara pemuatan elemen dan dimulainya rangkaian animasi dan apakah animasi harus dimulai segera dari awal atau sebagian dari animasi _4Menentukan apakah iterasi pertama animasi harus maju atau mundur dan apakah iterasi berikutnya harus berganti arah pada setiap proses melalui urutan atau reset ke titik awal dan ulangi 5Menentukan lamanya waktu di mana animasi menyelesaikan satu siklus _6Menentukan cara animasi menerapkan gaya ke targetnya sebelum dan sesudah dijalankan _7Menentukan berapa kali animasi harus diulang _8Menentukan nama aturan _1 yang menjelaskan keyframe animasi _0Menentukan apakah akan menjeda atau memutar urutan animasi _1Menentukan bagaimana animasi bertransisi melalui keyframe dengan membuat kurva akselerasi Setelah Anda mengonfigurasi pengaturan waktu animasi, Anda perlu menentukan tampilan animasi. Hal ini dilakukan dengan membuat satu atau lebih bingkai utama menggunakan aturan 1. Setiap keyframe menjelaskan bagaimana elemen animasi harus dirender pada waktu tertentu selama urutan animasiKarena pengaturan waktu animasi ditentukan dalam gaya CSS yang mengonfigurasi animasi, keyframe menggunakan 3 untuk menunjukkan waktu selama urutan animasi berlangsung. 0% menunjukkan momen pertama urutan animasi, sedangkan 100% menunjukkan keadaan akhir animasi. Karena dua waktu ini sangat penting, mereka memiliki alias khusus. 4 dan 5. Keduanya opsional. Jika _4/ 7 atau 5/ 9 tidak ditentukan, browser memulai atau menyelesaikan animasi menggunakan nilai yang dihitung dari semua atributSecara opsional, Anda dapat menyertakan bingkai kunci tambahan yang menjelaskan langkah-langkah perantara antara awal dan akhir animasi Singkatan 0 berguna untuk menghemat ruang. Sebagai contoh, beberapa aturan yang telah kami gunakan melalui artikel ini
dapat diganti dengan menggunakan steno 0
Untuk mempelajari lebih lanjut tentang urutan di mana nilai properti animasi yang berbeda dapat ditentukan menggunakan singkatan 0, lihat halaman referensi 0Properti tulisan tangan animasi CSS dapat menerima banyak nilai, dipisahkan dengan koma. Fitur ini dapat digunakan ketika Anda ingin menerapkan banyak animasi dalam satu aturan dan mengatur durasi yang berbeda, jumlah iterasi, dll. , untuk setiap animasi. Mari kita lihat beberapa contoh cepat untuk menjelaskan permutasi yang berbeda Dalam contoh pertama ini, ada tiga durasi dan tiga nilai hitungan iterasi. Jadi setiap animasi diberi nilai durasi dan jumlah iterasi dengan posisi yang sama dengan nama animasi. Animasi _4 diberi durasi 5 dan hitungan iterasi 6, dan animasi _7 diberi durasi 8 dan hitungan iterasi 9
Dalam contoh kedua ini, tiga nama animasi ditetapkan, tetapi hanya ada satu durasi dan hitungan iterasi. Dalam hal ini, ketiga animasi diberikan durasi dan jumlah iterasi yang sama
Dalam contoh ketiga ini, tiga animasi ditentukan, tetapi hanya dua durasi dan hitungan iterasi. Dalam kasus seperti di mana tidak ada cukup nilai dalam daftar untuk menetapkan satu terpisah untuk setiap animasi, siklus penetapan nilai dari item pertama hingga terakhir dalam daftar yang tersedia dan kemudian kembali ke item pertama. Jadi, _4 mendapatkan durasi 5, dan 2 mendapatkan durasi 3, yang merupakan nilai terakhir dalam daftar nilai durasi. Penetapan nilai durasi kini disetel ulang ke nilai pertama; . Nilai hitungan iterasi (dan nilai properti lainnya yang Anda tentukan) akan ditetapkan dengan cara yang sama
Jika ketidakcocokan dalam jumlah animasi dan nilai properti animasi terbalik, misalkan ada lima nilai 5 untuk tiga nilai 8, maka nilai properti animasi ekstra atau tidak terpakai, dalam hal ini, dua nilai 5, tidak berlaku untuk animasi apa pun Catatan. Beberapa browser lama (sebelum 2017) mungkin memerlukan awalan; Contoh sederhana ini memberi gaya pada elemen _0 sehingga teks meluncur masuk dari tepi kanan jendela browserPerhatikan bahwa animasi seperti ini dapat menyebabkan halaman menjadi lebih lebar dari jendela browser. Untuk menghindari masalah ini, letakkan elemen yang akan dianimasikan dalam wadah, dan atur 1 2 pada wadah
Dalam contoh ini, gaya untuk elemen _0 menetapkan bahwa animasi harus memakan waktu 3 detik untuk dieksekusi dari awal hingga akhir, menggunakan properti 5, dan bahwa nama aturan 1 yang menentukan bingkai utama untuk urutan animasi diberi nama "slidein Jika kami ingin gaya kustom apa pun pada elemen 0 muncul di browser yang tidak mendukung animasi CSS, kami juga akan menyertakannya di sini; Keyframe ditentukan menggunakan aturan 1. Dalam hal ini, kami hanya memiliki dua bingkai utama. Yang pertama terjadi pada 0% (menggunakan alias 4). Di sini, kami mengonfigurasi margin kiri elemen menjadi 100% (yaitu, di tepi paling kanan dari elemen yang memuatnya), dan lebar elemen menjadi 300% (atau tiga kali lebar elemen yang memuatnya). . Hal ini menyebabkan frame pertama animasi memiliki header yang ditarik dari tepi kanan jendela browserBingkai kunci kedua (dan terakhir) terjadi pada 100% (menggunakan alias 5). Margin kiri diatur ke 0% dan lebar elemen diatur ke 100%. Ini menyebabkan tajuk menyelesaikan animasinya rata dengan tepi kiri area konten
Catatan. Muat ulang halaman untuk melihat animasi Mari tambahkan keyframe lain ke animasi contoh sebelumnya. Katakanlah kita ingin ukuran font header bertambah saat bergerak dari kanan ke kiri untuk sementara waktu, lalu mengecil kembali ke ukuran aslinya. Itu sesederhana menambahkan keyframe ini
Kode lengkap sekarang terlihat seperti ini
Ini memberi tahu browser bahwa 75% dari urutan animasi, header harus memiliki margin kiri sebesar 25% dan lebarnya harus 150% Catatan. Muat ulang halaman untuk melihat animasi Untuk membuat animasi berulang, gunakan properti 7 untuk menunjukkan berapa kali mengulang animasi. Dalam hal ini, mari kita gunakan _1 untuk mengulangi animasi tanpa batas 0Menambahkannya ke kode yang ada _1
Itu membuatnya berulang, tetapi sangat aneh jika ia melompat kembali ke awal setiap kali mulai dianimasikan. Yang benar-benar kami inginkan adalah untuk bergerak bolak-balik melintasi layar. Itu mudah dilakukan dengan mengatur 4 ke 3
Dan kode lainnya _1
Anda bisa mendapatkan kontrol tambahan atas animasi — serta informasi berguna tentangnya — dengan memanfaatkan acara animasi. Peristiwa ini, diwakili oleh objek _4, dapat digunakan untuk mendeteksi kapan animasi dimulai, selesai, dan memulai iterasi baru. Setiap peristiwa mencakup waktu terjadinya serta nama animasi yang memicu peristiwa tersebutKami akan memodifikasi contoh teks geser untuk menampilkan beberapa informasi tentang setiap peristiwa animasi saat itu terjadi, sehingga kami dapat melihat cara kerjanya Menambahkan CSSKita mulai dengan membuat CSS untuk animasinya. Animasi ini akan berlangsung selama 3 detik, disebut "slidein", ulangi 3 kali, dan berganti arah setiap kali. Di _1, lebar dan margin kiri dimanipulasi untuk membuat elemen meluncur melintasi layar _6Menambahkan pendengar acara animasiKami akan menggunakan kode JavaScript untuk mendengarkan ketiga kemungkinan peristiwa animasi. Kode ini mengonfigurasi pendengar acara kami; _7Ini adalah kode yang cukup standar; . Hal terakhir yang dilakukan kode ini adalah menyetel 7 pada elemen yang akan kita animasikan menjadi "slidein"; Mengapa? . Jadi kita akan memulai animasi sendiri dengan menyetel kelas elemen ke gaya yang dianimasikan setelah fakta Menerima acaraAcara dikirim ke fungsi _9, yang ditunjukkan di bawah ini _8Kode ini juga sangat sederhana. Ini melihat _0 untuk menentukan jenis peristiwa animasi yang terjadi, lalu menambahkan catatan yang sesuai ke 1 (daftar tidak berurutan) yang kami gunakan untuk mencatat peristiwa iniOutputnya, ketika semua dikatakan dan dilakukan, terlihat seperti ini
Perhatikan bahwa waktunya sangat dekat, tetapi tidak persis, yang diharapkan mengingat waktu yang ditetapkan saat animasi dikonfigurasi. Perhatikan juga bahwa setelah iterasi terakhir animasi, peristiwa 2 tidak dikirim; Demi kelengkapan, inilah HTML yang menampilkan konten halaman, termasuk daftar tempat skrip menyisipkan informasi tentang peristiwa yang diterima Bagaimana Anda menganimasikan ke atas dan ke bawah dalam CSS?img. vert-move { -webkit-animation. penggerak 1s alternatif tak terbatas; . penggerak 1s alternatif tak terbatas;. img. vert-move { -webkit-animation. penggerak 1s alternatif tak terbatas;. @-webkit-keyframes penggerak { 0% { transformasi. terjemahkanY(0); . @keyframes penggerak { 0% { transformasi. terjemahkanY(0); Bagaimana Anda meluncur ke atas di CSS?tinggi-transisi-tersembunyi { max-height. 0; . . Tambahkan dan konfigurasikan beberapa kelas CSS Bungkus konten Anda ke dalam wadah pembungkus Gunakan plugin jQuery untuk memicu operasi slide Bagaimana Anda membuat animasi melompat di CSS?CSS (Kurang) . @keyframe melompat { 0% {transformasi. translate3d(0,0,0) scale3d(1,1,1);} 40% {transformasi. terjemahkan3d(0,30%,0) skala3d(. 7,1. 5,1);} 100% {berubah. translate3d(0,100%,0) scale3d(1. 5,. 7,1);} melompat { transform-origin. 50% 50%; animasi. melompat. 5s linear bergantian tak terbatas; Bagaimana Anda menganimasikan CSS dengan scroll?Memicu animasi CSS pada scroll adalah jenis animasi yang dipicu scroll. . Gunakan Intersection Observer API Ukur offset elemen saat pengguna menggulir Gunakan pustaka JavaScript pihak ketiga yang mengimplementasikan #1 atau #2 |