, CSS telah menyeragamkan corak yang dibuat oleh pemaju dalam JavaScript dan "memasukkan" mereka ke dalam standard CSS. Dari perspektif ini, JavaScript hampir seperti "penyelesaian", dan CSS adalah pendekatan rasmi. :hover
Oleh itu, dengan menggunakan CSS untuk melaksanakan tingkah laku seperti skrip membuat kita merasa kurang "canggung", dan tidak menghairankan bahawa ciri-ciri seperti ciri
scroll-timeline
memindahkan contoh JavaScript ke CSS
scroll-timeline
Menggunakan fungsi tanpa parameter akan menetapkan "Timeline Kemajuan Menatal Anonymous", yang bermaksud bahawa jika mod penulisan kami berada dalam bahasa Inggeris, penyemak imbas akan menghidupkan berdasarkan unsur -unsur nenek moyang baru -baru ini yang dapat menatal secara menegak. Malangnya, ia akan sangat berguna untuk hanya mempunyai pilihan untuk menghidupkan berdasarkan menatal pada paksi-x atau paksi y dari elemen tertentu, bukan kedua-duanya. Sebagai fungsi kita boleh lulus parameter ke
body, .progress, .cube { animation-timeline: scroll(); }
Eksperimen Multi-dimensi scroll()
scroll()
lebih baik adalah atribut
Menatal naratif mendatar pada kad hijau cahaya akan memutar konsol 3D NES secara mendatar, dan menatal naratif menegak pada kad hijau gelap akan memutar konsol NES secara menegak. Dalam jawatan terdahulu saya, saya menyebut bahawa helah CSS masa lalu saya sentiasa merebak ke kemungkinan bersembunyi dan menunjukkan kemungkinan terhad dengan CSS. Apa yang saya berminat dengan eksperimen berasaskan roll ini ialah gabungan gabungan gabungan gabungan menegak dan mendatar. Masa animasi menyediakan interaktiviti CSS tulen yang mustahil pada masa lalu.
Butiran pelaksanaan tidak begitu penting seperti penggunaan timeline-scope
dan sifat tersuai. Kami mendaftarkan dua sifat sudut tersuai:
body, .progress, .cube { animation-timeline: scroll(); }
Kemudian kami "meminjam" model NES 3D dari contoh -contoh dalam aplikasi pemodelan 3D CSS yang menakjubkan Julian Garner. Kami mengemas kini kelas .scene
untuk membuat putaran 3D berdasarkan pembolehubah baru kami seperti berikut:
@property --my-y-angle { syntax: "<angle>"; inherits: true; initial-value: 0deg; } @property --my-x-angle { syntax: "<angle>"; inherits: true; initial-value: -35deg; }</angle></angle>
Seterusnya, kami menyediakan elemen body
dengan dua skop bernama adat. scroll-scope
.scene { transform: rotateY(var(--my-y-angle)) rotateX(var(--my-x-angle)); }
Seterusnya, kami menentukan garis masa yang dinamakan untuk dua kad scrollable dan paksi yang kami mahu mencetuskan animasi.
body { scroll-scope: --myScroller,--myScroller2; }
.card:first-child { scroll-timeline-axis: x; scroll-timeline-name: --myScroller; } .card:nth-child(2) { scroll-timeline-axis: y; scroll-timeline-name: --myScroller2; }
Animasi Kawalan Pengguna Beyond Scrollbar
Semasa kami meminta model 3D dari Julian Garner, mari kita lihat jika kita boleh menggunakan input pelbagai untuk mengawal model X-Wingnya.
luar biasa bahawa kita boleh melakukan ini dengan hanya menggunakan CSS, dan kita boleh melakukannya dengan bilangan hartanah. Bagi saya, itu tidak mencukupi. Saya ingin melihat kawalan input lain yang boleh memanipulasi garis masa animasi. Bayangkan bahawa medan teks menolak animasi semasa anda mengisi, atau butang boleh bermain atau membalikkan animasi. Yang terakhir boleh dilaksanakan sedikit sebanyak dengan menggabungkan kelas pseudo
dengan atribut :active
. Tetapi dalam pengalaman saya, penyemak imbas mungkin keliru apabila anda cuba menggunakannya untuk menghidupkan pelbagai sifat tersuai. Sebaliknya, garis masa animasi direka dengan kes penggunaan ini, jadi ia berlari dengan lancar dan tepat apa yang saya harapkan. animation-play-state
Saya bukan satu -satunya yang melihat potensi ciri CSS yang muncul ini. Seseorang telah melaksanakan klon azab pintar ini dengan menggabungkan scroll-timeline
dan helah kotak semak. Masalah saya ialah ia masih belum mencukupi. Kami mempunyai sumber yang cukup dalam Chrome untuk melaksanakan pembina avatar menggunakan scrollbars dan input jarak sebagai kawalan permainan. Saya gembira untuk mencuba pengalaman yang tidak dapat diramalkan dan kompleks yang belum pernah terjadi sebelumnya dalam era sebelum penampilan ciri -ciri scroll-timeline
. Lagipun, jika anda perlu menerangkan definisi permainan video kepada Aliens, tidakkah anda mengatakan ia hanya animasi interaktif super?
Atas ialah kandungan terperinci Luncurkan melalui dimensi tanpa had dengan garis masa tatal CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!