- Animasi penuh halaman boleh dibuat menggunakan transformasi CSS 3D dan 2D dan animasi CSS, menyediakan alternatif yang lebih berprestasi dan fleksibel untuk animasi berasaskan skrip tradisional untuk kandungan web. Elemen HTML boleh diubah menggunakan animasi CSS untuk mencapai kesan ini.
- Untuk memastikan hasil yang konsisten apabila menggunakan CSS berubah menjadi elemen, tanpa mengira saiz kandungannya, saiz elemen badan boleh diperbaiki dengan tetingkap dan kandungan penyemak imbas boleh dilampirkan di dalam pembungkus. Pendekatan ini juga boleh menutup sebarang rendering progresif, bayaran semula atau beban sumber yang boleh berlaku dengan kandungan yang kompleks.
- Animasi boleh ditubuhkan pada masa -masa strategik semasa pengalaman melayari untuk memberikan penampilan kandungan peralihan ke dalam pandangan apabila halaman beban dan keluar dari pandangan apabila pengguna mengklik pada pautan. Tempat yang optimum untuk menubuhkan animasi yang memindahkan kandungan halaman ke pandangan adalah sejajar di bahagian atas elemen. Acara AnimationEnD boleh digunakan untuk mengesan apabila animasi selesai dan kemudian mencetuskan peristiwa navigasi.
Saya telah bercakap tentang cara membina dengan transformasi CSS 3D serta animasi dan peralihan CSS dalam artikel sebelumnya. Dalam artikel ini, saya ingin memperkenalkan kes penggunaan yang lebih "tidak konvensional" untuk teknologi ini dengan menerangkan konsep "animasi penuh halaman" yang boleh digunakan semasa proses navigasi untuk menambah ketidakstabilan dan kesinambungan untuk melayari. Sasaran kami adalah untuk mencapai pengalaman melayari yang lancar di mana kandungan lancar muncul apabila pengguna melawat halaman dan peralihan ketika dia mengklik pautan atau melakukan tindakan yang relevan.
Kesan ini boleh dicapai dengan mengubah elemen HTML
Mengubah keseluruhan kandungan halaman
transformasi CSS ditakrifkan pada sifat gaya elemen HTML DOM. Sebagai contoh, markup untuk berputar elemen 45 darjah di sepanjang paksi Znya akan kelihatan seperti ini:
#element { transform: rotateZ(45deg); }
Melampirkan transformasi ke elemen
dokumen HTML anda berfungsi dengan cara yang sama. Oleh itu, lakukan untuk menambah kesan yang sama pada dokumen anda boleh melakukan sesuatu seperti ini:body { transform: rotateZ(45deg); }
mari kita lihat pukulan sebelum dan selepas halaman apabila menggunakan transformasi ke elemen badan:
Memohon Rotatez (45Deg) Transform ke elemen badan dokumen.
Untuk transformasi tiga dimensi, CSS mengubah spesifikasi mentakrifkan harta perspektif yang boleh ditentukan pada induk elemen yang kita ubah. Apabila mengubah elemen
kandungan anda, ia perlu digunakan untuk elemen yang berada di atasnya dalam hierarki DOM. Berbuat demikian adalah mudah:html { perspective: 500px; }
menggabungkan ini dengan perubahan rotatey (45deg) pada elemen
menghasilkan hasil berikut:
Memohon Putar (45Deg) Transform ke dengan Perspektif: 500px ditetapkan pada .
kita boleh memanipulasi sifat asal transformasi pada elemen badan untuk hasil yang menarik. Mari kita lihat beberapa contoh:
body { transform-origin: 50% 100%; transform: rotateX(45deg); }
markup di atas menetapkan putaran di sepanjang x untuk elemen badan sambil mengalihkan asal putaran ke bahagian bawah elemen menggunakan asal transformasi. Secara berkesan ini berputar kandungan dokumen "ke" skrin seperti ini:
3 kita juga boleh memanipulasi sifat asal-usul perspektif pada elemen akar dokumen kami untuk mencapai kesan unjuran luar paksi. Menukar gaya untuk ke:
Halaman kami sekarang kelihatan seperti ini:
html { perspective: 500px; perspective-origin: 90% 50%; }Dengan menggunakan transformasi CSS, kita dapat dengan mudah memanipulasi penampilan visual keseluruhan kandungan halaman kami. Oleh kerana susun atur biasa dan peraturan saiz masih berlaku, beberapa mengubah pada elemen badan (terutamanya yang menggunakan nilai peratusan atau bergantung pada harta transformasi-asal) boleh mengakibatkan kesan visual yang berbeza bergantung kepada kandungan halaman kami. Ingat contoh Rotatex (45Deg) sebelumnya dengan transformasi-asal ditetapkan kepada 50% 100%.
di bawah anda dapat melihat hasilnya sebelum dan selepas transformasi digunakan.
Perhatikan bagaimana kandungannya sebenarnya tidak berputar di bahagian bawah tetingkap tetapi pada satu ketika di luar viewport. Ini dijangka tingkah laku untuk transformasi CSS:
Jadi bagaimana kita menangani kandungan bersaiz sewenang -wenangnya apabila menggunakan transformasi ke elemen badan kita? Adat menyesuaikan semua kandungan untuk memastikan saiz badan tidak berkembang lebih daripada jumlah tertentu mungkin tidak realistik. Sebaliknya, kita boleh menggunakan corak HTML/CSS yang mudah yang membolehkan kita menetapkan saiz elemen badan ke tetingkap penyemak imbas dan menambah kandungan di dalam pembungkus
#element { transform: rotateZ(45deg); }
Ilustrasi di bawah menunjukkan apa yang berlaku apabila halaman ditatal secara menegak dan kami menggunakan rotatey (45deg) berubah menjadi elemen
dokumen kami secara langsung (kiri) dan menggunakan corak pembungkus (kanan):
dengan menggunakan corak di atas dan menubuhkan CSS berubah dengan nilai peratusan apabila mungkin, kita boleh menjejaskan elemen kita dengan cara yang konsisten, tanpa mengira saiz kandungannya.
dari transformasi ke animasi
Setelah menyusun selok -belok penggunaan CSS berubah menjadi elemen , animasi CSS adalah langkah seterusnya. Dengan mengikuti prinsip -prinsip yang diterangkan di atas, kita boleh membuat animasi yang membawa kandungan web kita ke dalam pandangan (atau mengeluarkannya dari pandangan) dengan cara yang menarik.
Pertimbangkan peraturan asas @keyframes ini:
body { transform: rotateZ(45deg); }Apabila digunakan pada elemen, animasi ini akan menyebabkannya berputar di sebelah kirinya. Apabila digunakan untuk elemen yang menggunakan corak pembalut kami, hasil visual lebih menarik. Dokumen itu sebenarnya akan berputar dari luar kawasan yang kelihatan dari tetingkap penyemak imbas dan ke pandangan penuh:
Begitu juga, kita dapat menyusun animasi yang membuang kandungan web kami dari pandangan. Sebagai contoh, jika kita mahu halaman kita hilang ke jarak semasa berputar, kita boleh menggunakan sesuatu seperti ini:
#element { transform: rotateZ(45deg); }
dengan hasil visual adalah:
melampirkan animasi ke
Matlamat kami adalah untuk menggunakan animasi pencetus pada masa strategik semasa pengalaman penyemak imbas untuk memberikan kemunculan kandungan peralihan ke dalam pandangan apabila halaman beban dan di luar pandangan apabila pengguna mengklik pada pautan.
Tempat intuitif pertama untuk menambah animasi ke elemen badan akan menjadi acara JavaScript onload. Walau bagaimanapun, ternyata menambah animasi apabila kebakaran onload sebenarnya terlambat. Acara ini sebenarnya mencetuskan apabila keseluruhan kandungan di halaman kami telah selesai memuatkan (termasuk mana-mana imej atau sumber yang berintensifkan jalur lebar lain). Melampirkan animasi ke Onload pada halaman intensif jalur lebar akan mengakibatkan kandungan kami memaparkan "biasanya," diikuti dengan animasi yang mencetuskan dan menghidupkan semula kandungan ke dalam pandangan. Tidak betul -betul kesan yang kami targetkan.
Sebagai alternatif, kita boleh menggunakan acara domcontentloaded yang mencetuskan apabila penyemak imbas telah menyelesaikan struktur DOM kandungan kami (tetapi berpotensi sebelum sumber telah selesai dimuatkan). Demo DOMContentLoaded Drive DomContentLoad IE menggambarkan perbezaan antara kedua -dua peristiwa ini. Walau bagaimanapun, dalam kes -kes kandungan web yang kompleks, pelayar moden boleh memilih untuk melakukan "progresif", memaparkan halaman sebelum keseluruhan pokok Dom telah dimuatkan. Dalam situasi ini, hasil visual akan sama dengan senario onload.
Tempat yang optimum untuk menubuhkan animasi yang memindahkan kandungan halaman kami dalam pandangan adalah sejajar di bahagian atas elemen
. Ini memastikan bahawa animasi akan bermula dengan betul kerana kandungannya diberikan (dan kedudukan permulaan kandungannya akan menjadi dari kerangka utama animasi yang dipilih kami). Kesan sampingan yang menyenangkan dari pendekatan ini adalah bahawa animasi sebenarnya boleh menutup sebarang rendering progresif, bayaran semula atau beban sumber yang boleh berlaku dengan kandungan kompleks.Menyediakan animasi yang memindahkan kandungan kami dari pandangan juga menarik. Seseorang boleh mengandaikan bahawa kita boleh melampirkan pengendali onclick kepada semua elemen yang menarik dalam kandungan kami (contohnya semua tag ) dan hanya menetapkan sifat animasi yang relevan (nama animasi, penahan animasi, dan lain-lain) dalam fungsi panggil balik . Walau bagaimanapun, jika kita tidak menangguhkan navigasi daripada berlaku, kita tidak akan melihat peralihan cecair yang dijangkakan.
Ini adalah peluang yang baik untuk menggunakan peristiwa animasi yang diterangkan dalam spesifikasi animasi CSS. Khususnya, kita boleh menggunakan acara AnimationEnD untuk mengesan apabila animasi telah selesai dan kemudian mencetuskan navigasi (dengan menetapkan window.location.href, misalnya). Oleh itu, onclick kami akan mencetuskan animasi "mengalih keluar-dari-pandangan" dan mendaftarkan pengendali untuk AnimationEnD pada
yang akan memastikan bahawa peristiwa navigasi berlaku. Demo live Tersedia Kami telah mencipta demonstrasi dan tutorial untuk membawa halaman hidup dengan CSS Transforms & Animations yang memberikan kedalaman dan contoh melebihi apa yang telah kami tunjukkan di sini. Tutorial itu sendiri menggunakan animasi halaman penuh semasa navigasi halaman yang berfungsi di Internet Explorer 10 pada Windows 8 serta versi terkini Chrome dan Firefox.
hanya menikmati animasi halaman-ke-halaman, melangkah melalui halaman tutorial menggunakan pautan "Teruskan ..." di sudut kanan bawah setiap halaman.
Pada akhir tutorial kami menyediakan beberapa panduan tambahan dan kod sampel mengenai cara menggabungkan animasi ini dengan kandungan web anda sendiri.
membungkusnya
CSS Transforms dan CSS animasi adalah dua ciri-ciri yang kuat yang membolehkan pengalaman web yang lebih kaya dan lebih mendalam. Dengan sedikit usaha, anda boleh membuat laman web (walaupun statik) yang memberikan pengalaman navigasi cecair dan hampir seperti aplikasi.
Jika anda suka membaca siaran ini, anda akan suka dipelajari; Tempat untuk mempelajari kemahiran dan teknik segar dari Sarjana. Ahli mendapat akses segera ke semua ebook SitePoint dan kursus dalam talian interaktif, seperti CSS praktikal.
soalan yang sering ditanya mengenai animasi CSS penuh halaman
Apakah perbezaan utama antara animasi CSS dan animasi JavaScript? Animasi CSS lebih mudah dan mudah dilaksanakan, terutamanya untuk animasi mudah. Mereka juga lebih mesra prestasi kerana mereka dikendalikan oleh enjin rendering pelayar. Walau bagaimanapun, animasi CSS mempunyai kawalan dan fleksibiliti terhad berbanding dengan animasi JavaScript. Animasi JavaScript, sebaliknya, menawarkan lebih banyak kawalan dan fleksibiliti, yang membolehkan animasi kompleks. Mereka boleh dijeda, dibalikkan, atau dimanipulasi dalam masa nyata, dan juga boleh bertindak balas terhadap interaksi pengguna. Unit seperti peratusan atau unit viewport dan bukan unit mutlak seperti piksel. Ini memastikan bahawa skala animasi dengan betul tanpa mengira saiz skrin. Anda juga boleh menggunakan pertanyaan media untuk menyesuaikan animasi berdasarkan saiz skrin tertentu atau jenis peranti.
Bolehkah saya menggunakan animasi CSS dengan svg?
Ya, animasi CSS boleh digunakan dengan SVG (grafik vektor berskala). SVG mempunyai set sifat CSS tersendiri yang boleh animasi, seperti mengisi, strok, dan transformasi. Ini membolehkan animasi yang lebih kompleks dan menarik berbanding dengan menghidupkan elemen HTML biasa. Sebagai contoh, Internet Explorer tidak menyokong harta animasi-masa. Untuk memastikan keserasian silang pelayar, anda boleh menggunakan awalan vendor seperti -webkit-, -moz-, -o-, dan -ms- sebelum sifat animasi. Anda juga boleh menggunakan alat seperti AutoPrefixer untuk menambahkan awalan ini secara automatik. Ciri -ciri animasi, terutamanya yang mencetuskan susun atur berubah seperti lebar, ketinggian, dan margin. Sebaliknya, gunakan sifat yang hanya mencetuskan perubahan komposit seperti transformasi dan kelegapan. Anda juga boleh menggunakan harta yang akan berubah untuk memberitahu penyemak imbas mengenai sifat-sifat yang mungkin akan dihidupkan. Jadilah animasi dengan CSS. Ini kerana ia tidak mempunyai keadaan pertengahan antara nilai -nilainya. Walau bagaimanapun, anda boleh mencapai kesan yang sama dengan menghidupkan sifat kelegapan dan penglihatan. -Penghitungan harta-kiraan. Dengan menetapkan nilainya kepada Infinite, animasi akan diulangi selama-lamanya. harta. Harta ini mentakrifkan tempoh masa yang diperlukan oleh animasi untuk menyelesaikan satu kitaran.
Bagaimana saya boleh menjeda animasi CSS? . Dengan menetapkan nilainya kepada Jeda, animasi akan berhenti berjalan.
Bolehkah saya menghidupkan harta latar belakang dengan CSS? Walau bagaimanapun, anda boleh mencapai kesan yang sama dengan memudar antara pelbagai imej latar belakang menggunakan harta kelegapan.
hanya menikmati animasi halaman-ke-halaman, melangkah melalui halaman tutorial menggunakan pautan "Teruskan ..." di sudut kanan bawah setiap halaman.
Pada akhir tutorial kami menyediakan beberapa panduan tambahan dan kod sampel mengenai cara menggabungkan animasi ini dengan kandungan web anda sendiri.
membungkusnya
CSS Transforms dan CSS animasi adalah dua ciri-ciri yang kuat yang membolehkan pengalaman web yang lebih kaya dan lebih mendalam. Dengan sedikit usaha, anda boleh membuat laman web (walaupun statik) yang memberikan pengalaman navigasi cecair dan hampir seperti aplikasi.
Jika anda suka membaca siaran ini, anda akan suka dipelajari; Tempat untuk mempelajari kemahiran dan teknik segar dari Sarjana. Ahli mendapat akses segera ke semua ebook SitePoint dan kursus dalam talian interaktif, seperti CSS praktikal.
soalan yang sering ditanya mengenai animasi CSS penuh halamanApakah perbezaan utama antara animasi CSS dan animasi JavaScript? Animasi CSS lebih mudah dan mudah dilaksanakan, terutamanya untuk animasi mudah. Mereka juga lebih mesra prestasi kerana mereka dikendalikan oleh enjin rendering pelayar. Walau bagaimanapun, animasi CSS mempunyai kawalan dan fleksibiliti terhad berbanding dengan animasi JavaScript. Animasi JavaScript, sebaliknya, menawarkan lebih banyak kawalan dan fleksibiliti, yang membolehkan animasi kompleks. Mereka boleh dijeda, dibalikkan, atau dimanipulasi dalam masa nyata, dan juga boleh bertindak balas terhadap interaksi pengguna. Unit seperti peratusan atau unit viewport dan bukan unit mutlak seperti piksel. Ini memastikan bahawa skala animasi dengan betul tanpa mengira saiz skrin. Anda juga boleh menggunakan pertanyaan media untuk menyesuaikan animasi berdasarkan saiz skrin tertentu atau jenis peranti.
Bolehkah saya menggunakan animasi CSS dengan svg?
Ya, animasi CSS boleh digunakan dengan SVG (grafik vektor berskala). SVG mempunyai set sifat CSS tersendiri yang boleh animasi, seperti mengisi, strok, dan transformasi. Ini membolehkan animasi yang lebih kompleks dan menarik berbanding dengan menghidupkan elemen HTML biasa. Sebagai contoh, Internet Explorer tidak menyokong harta animasi-masa. Untuk memastikan keserasian silang pelayar, anda boleh menggunakan awalan vendor seperti -webkit-, -moz-, -o-, dan -ms- sebelum sifat animasi. Anda juga boleh menggunakan alat seperti AutoPrefixer untuk menambahkan awalan ini secara automatik. Ciri -ciri animasi, terutamanya yang mencetuskan susun atur berubah seperti lebar, ketinggian, dan margin. Sebaliknya, gunakan sifat yang hanya mencetuskan perubahan komposit seperti transformasi dan kelegapan. Anda juga boleh menggunakan harta yang akan berubah untuk memberitahu penyemak imbas mengenai sifat-sifat yang mungkin akan dihidupkan. Jadilah animasi dengan CSS. Ini kerana ia tidak mempunyai keadaan pertengahan antara nilai -nilainya. Walau bagaimanapun, anda boleh mencapai kesan yang sama dengan menghidupkan sifat kelegapan dan penglihatan. -Penghitungan harta-kiraan. Dengan menetapkan nilainya kepada Infinite, animasi akan diulangi selama-lamanya. harta. Harta ini mentakrifkan tempoh masa yang diperlukan oleh animasi untuk menyelesaikan satu kitaran.
Bagaimana saya boleh menjeda animasi CSS? . Dengan menetapkan nilainya kepada Jeda, animasi akan berhenti berjalan.
Atas ialah kandungan terperinci Cara membuat animasi penuh halaman menggunakan CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

10 Plugin Permainan JQuery yang menyeronokkan untuk menjadikan laman web anda lebih menarik dan meningkatkan keletihan pengguna! Walaupun Flash masih merupakan perisian terbaik untuk membangunkan permainan web kasual, jQuery juga boleh menghasilkan kesan yang mengejutkan, dan walaupun tidak setanding dengan permainan flash aksi tulen, dalam beberapa kes, anda juga boleh bersenang -senang di penyemak imbas anda. permainan jquery tic toe "Hello World" pengaturcaraan permainan kini mempunyai versi jQuery. Kod sumber JQuery Game Composition Crazy Word Ini adalah permainan mengisi kosong, dan ia dapat menghasilkan beberapa hasil yang pelik kerana tidak mengetahui konteks perkataan. Kod sumber JQuery Mine Sweeping Game

Tutorial ini menunjukkan cara membuat kesan latar belakang paralaks yang menawan menggunakan jQuery. Kami akan membina sepanduk header dengan imej berlapis yang mewujudkan kedalaman visual yang menakjubkan. Plugin yang dikemas kini berfungsi dengan JQuery 1.6.4 dan kemudian. Muat turun

Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Artikel ini menunjukkan bagaimana untuk menyegarkan semula kandungan div secara automatik setiap 5 saat menggunakan jQuery dan Ajax. Contohnya mengambil dan memaparkan catatan blog terkini dari suapan RSS, bersama -sama dengan timestamp refresh terakhir. Imej pemuatan adalah opsyena

Matter.js adalah enjin fizik badan tegar 2D yang ditulis dalam JavaScript. Perpustakaan ini dapat membantu anda dengan mudah mensimulasikan fizik 2D dalam penyemak imbas anda. Ia menyediakan banyak ciri, seperti keupayaan untuk mencipta badan yang tegar dan menetapkan sifat fizikal seperti jisim, kawasan, atau ketumpatan. Anda juga boleh mensimulasikan pelbagai jenis perlanggaran dan daya, seperti geseran graviti. Matter.js menyokong semua pelayar arus perdana. Di samping itu, ia sesuai untuk peranti mudah alih kerana ia mengesan sentuhan dan responsif. Semua ciri-ciri ini menjadikannya bernilai masa untuk belajar menggunakan enjin, kerana ini memudahkan untuk membuat permainan atau simulasi 2D berasaskan fizik. Dalam tutorial ini, saya akan merangkumi asas -asas perpustakaan ini, termasuk pemasangan dan penggunaannya, dan menyediakan


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa