Rumah >hujung hadapan web >tutorial css >Web-linger.css: Seperti wow.js tetapi dengan animasi tatal CSS-y
, sifat tersuai, dan pertanyaan gaya. animation-timeline
web-slinger.css: Perpustakaan animasi tatal CSS sahaja
dan .scroll-trigger-n
, bersama-sama dengan sifat tersuai (.on-scroll-trigger-n
), untuk menguruskan animasi. Pendekatan ini menghancurkan animasi mencetuskan dari elemen animasi, memberikan fleksibiliti. --scroll-trigger-n
untuk mencetuskan animasi "flipiny" dari animate.css. Contoh yang lebih kompleks, seperti "cownter" dalam demo, menunjukkan mencetuskan pelbagai animasi dari titik tatal tunggal. .scroll-trigger-8
<div> <h2></h2> <div> <br><br><a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">? Play again</a> </div> </div>dan CSS memanfaatkan pertanyaan gaya untuk kemas kini kandungan dinamik:
.header { .cownter::after { --cownter: calc(var(--scroll-trigger-2) + var(--scroll-trigger-4) + var(--scroll-trigger-8) + var(--scroll-trigger-11)); --pluralised-cow: 'cows'; counter-set: cownter var(--cownter); content: "Have " counter(cownter) " " var(--pluralised-cow) ", man"; } @container style(--scroll-trigger-2: 1) and style(--scroll-trigger-4: 0) { .cownter::after { --pluralised-cow: 'cow'; } } a { text-decoration: none; color: blue; } } :root:has(.reset:active) * { animation-name: none; }Demo menggunakan web-slinger.css sebagai sumber luaran.
Butiran pelaksanaan web-slinger.css
sebagai garis masa animasi untuk mencipta elemen tetap tetap. Pertanyaan gaya dan sifat tersuai kemudian mengawal animasi lain berdasarkan penglihatan elemen tetap ini. view()
timeline-scope
Lihat kod CSS
/** Each trigger element toggles `--scroll-trigger-n` from 0 to 1, unpausing animations on `.on-scroll-trigger-n` **/ :root { animation-name: run-scroll-trigger-1, run-scroll-trigger-2 /*etc*/; animation-duration: 1ms; animation-fill-mode: forwards; animation-timeline: --trigger-timeline-1, --trigger-timeline-2 /*etc*/; timeline-scope: --trigger-timeline-1, --trigger-timeline-2 /*etc*/; } @property --scroll-trigger-1 { syntax: "<integer>"; initial-value: 0; inherits: true; } @keyframes run-scroll-trigger-1 { to { --scroll-trigger-1: 1; } } /** Animate elements only when `.scroll-trigger-1` is in view **/ .on-scroll-trigger-1 { animation-play-state: paused; } @container style(--scroll-trigger-1: 1) { .on-scroll-trigger-1 { animation-play-state: running; } } /** Trigger element, fixed to top, activating animations **/ .scroll-trigger-1 { view-timeline-name: --trigger-timeline-1; }</integer>
Batasan dan Penambahbaikan Masa Depan
Web-slinger.css, sementara berfungsi, menghasilkan fail CSS yang lebih besar dengan lebih banyak pencetus. Nama kelas bernombor tidak mempunyai kejelasan semantik. Sebaik -baiknya, sokongan penyemak imbas asli akan membolehkan menghubungkan pencetus dan sasaran menggunakan ID, sama dengan atributAtas ialah kandungan terperinci Web-linger.css: Seperti wow.js tetapi dengan animasi tatal CSS-y. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!