Animasi musim bunga adalah cara terbaik untuk membawa interaksi UI ke kehidupan. Daripada mengubah sifat pada kadar yang tetap dalam tempoh masa, animasi musim bunga menggunakan fizik musim bunga untuk memindahkan sesuatu, memberi orang kesan objek sebenar bergerak dan memberi pengguna pengalaman yang lebih semula jadi.
Saya telah menulis mengenai animasi musim bunga sebelum ini. Artikel itu berdasarkan React dan menggunakan reaksi-spring untuk animasi. Artikel ini akan meneroka idea yang sama di Svelte.
Pemaju CSS! Apabila mengawal kesan animasi, anda biasanya memikirkan pelonggaran. Anda boleh memikirkan animasi "musim bunga" sebagai subkategori pelonggaran berdasarkan fizik dunia sebenar.
Svelte sebenarnya mempunyai mata air yang dibina ke dalam bingkai tanpa mana -mana perpustakaan luaran yang diperlukan. Kami akan mengkaji separuh pertama artikel sebelumnya mengenai React-Spring. Tetapi selepas itu, kami akan menggali semua penggunaan mata air di Svelte dan meninggalkan pelaksanaan sebenar ke artikel masa depan. Walaupun ini mungkin kelihatan mengecewakan, Svelte mempunyai beberapa ciri unik yang tidak dijumpai dalam React untuk mengintegrasikan dengan berkesan dengan primitif animasi ini. Kami akan mengambil sedikit masa untuk membincangkannya.
Satu lagi perkara yang perlu diperhatikan: beberapa demonstrasi yang diselingi dalam artikel ini mungkin kelihatan pelik, kerana saya mengkonfigurasi mata air untuk menjadi "elastik" untuk menghasilkan kesan yang lebih ketara. Jika anda telah menggunakan sebarang kod demo, pastikan anda mencari konfigurasi musim bunga yang berfungsi untuk anda.
Ini adalah repl hebat yang dibuat oleh Rich Harris untuk mempamerkan pelbagai konfigurasi musim bunga dan tingkah laku mereka.
Permulaan cepat dengan penyimpanan svelte
Sebelum kita memulakan, mari kita lihat dengan cepat penyimpanan svelte. Walaupun komponen Svelte mampu menyimpan dan mengemas kini keadaan, Svelte juga mempunyai konsep penyimpanan, yang membolehkan anda menyimpan negeri di luar komponen. Oleh kerana API Spring Svelte menggunakan penyimpanan, kami akan menutup bahagian pentingnya di sini.
Untuk membuat contoh penyimpanan, kami boleh mengimport jenis yang boleh ditulis dan mencipta seperti ini:
import {wrable} dari "svelte/store"; const clicks = wrable (0);
Pemboleh ubah klik adalah kedai dengan nilai 0. Terdapat dua cara untuk menetapkan nilai baru yang disimpan: kaedah set dan kemas kini. Bekas menerima nilai yang akan ditetapkan untuk disimpan, sementara yang terakhir menerima fungsi panggil balik yang menerima nilai semasa dan mengembalikan nilai baru.
peningkatan fungsi () { clicks.update (val => val 1); } fungsi setTo5 () { clicks.set (5); }
Sekiranya anda tidak boleh menggunakan keadaan ini, maka keadaan tidak berguna. Untuk melakukan ini, kedai menyediakan kaedah melanggan yang membolehkan anda menerima pemberitahuan nilai -nilai baru -tetapi apabila menggunakannya dalam komponen, anda boleh mengutamakan nama penyimpanan dengan aksara $, yang memberitahu Svelte bukan sahaja untuk memaparkan nilai semasa yang disimpan, tetapi juga untuk mengemas kini apabila ia berubah. Contohnya:
<h1 id="Nilai-klik"> Nilai {$ klik}</h1> Kenaikan Ditetapkan ke 5
Ini adalah contoh kod kerja lengkap. Penyimpanan menyediakan banyak ciri lain seperti penyimpanan yang diperoleh (yang membolehkan anda menghubungkan storan bersama -sama), storan yang boleh dibaca, dan juga keupayaan untuk diberitahu apabila storan pertama kali diperhatikan dan tidak lagi mempunyai pemerhati. Tetapi untuk tujuan artikel ini, kod yang ditunjukkan di atas adalah semua yang kita perlu perhatikan. Sila rujuk dokumentasi Svelte atau tutorial interaktif untuk maklumat lanjut.
Kursus Crash Spring
Mari kita cepat memperkenalkan musim bunga dan fungsinya. Kami akan melihat UI mudah yang mengubah aspek rendering unsur -unsur tertentu (kelegapan dan transformasi) dan kemudian melihat perubahan animasi.
Ini adalah komponen svelte minimum yang beralih ke satu<div> Kelegapan dan beralih ke yang lain<code><div> Penukaran paksi x (tanpa sebarang animasi).<pre class="brush:php;toolbar:false"><div style="opacity: {shown ? 1 : 0}"> Kandungan untuk bertukar -tukar</div>
<br>Togol
<hr><div style="transform: translateX({moved}px)">Saya kotak.</div>
<br>Gerakkannya!</pre>
<p> Perubahan ini berlaku dengan serta -merta, jadi mari kita lihat bagaimana untuk menghidupkannya. Di sinilah musim bunga masuk. Di Svelte, musim bunga adalah penyimpanan di mana kita dapat menetapkan nilai yang dikehendaki, tetapi ia tidak berubah dengan segera, tetapi sebaliknya menyimpan nilai secara beransur -ansur diubah menggunakan fizik musim bunga. Kami kemudian boleh mengikat UI kami ke nilai berubah ini untuk mendapatkan kesan animasi yang bagus. Mari lihat bagaimana ia berfungsi.</p>
<pre class="brush:php;toolbar:false"> import {spring} dari "svelte/gerakan";
const fadespring = spring (1, {kekakuan: 0.1, redaman: 0.5});
const transformspring = spring (0, {kekakuan: 0.2, redaman: 0.1});
const toggleFade = () => fadespring.update (val => (val? 0: 1));
const toggletRansform = () => transformspring.update (val => (val? 0: 500));
const snapTransform = () => transformspring.update (val => val, {hard: true});
<div style="opacity: {$fadeSpring}">Kandungan untuk pudar</div>
<br>Pudar togol
<hr><div style="transform: translateX({$transformSpring}px)">Saya kotak.</div>
<br>Gerakkannya!
Snap ke tempatnya</pre>
<p> Kami mendapat fungsi musim bunga dari Svelte dan menetapkan contoh musim bunga yang berbeza untuk kelegapan dan animasi transformasi. Konfigurasi musim bunga penukaran sengaja ditetapkan untuk menjadi <em>sangat elastik</em> untuk membantu menunjukkan kemudian bagaimana untuk sementara menutup animasi musim bunga dan memohon perubahan yang diperlukan dengan segera (ini akan berguna kemudian). Pada akhir blok skrip adalah pengendali klik yang digunakan untuk menetapkan sifat yang diperlukan. Kemudian, dalam HTML, kami mengikat nilai yang berubah terus ke elemen kami ... itu sahaja! Itu semua mengenai animasi musim bunga asas di Svelte.</p>
<p> Satu -satunya item yang tinggal adalah fungsi SnapTransform, yang kami tetapkan musim bunga penukaran kepada nilai semasa, tetapi juga lulus objek sebagai parameter kedua, di mana keras: benar. Ini mempunyai kesan menggunakan nilai yang diperlukan dengan segera tanpa sebarang animasi.</p>
<p> Demo ini dan selebihnya contoh asas yang akan kita lihat dalam artikel ini ada di sini: [pautan demo harus dimasukkan di sini]</p>
<p> ... (Pseudo-asal dari seluruh artikel menyimpan makna asal tidak berubah, dan mengekalkan kedudukan dan format gambar)</p>
</div>
Atas ialah kandungan terperinci Animasi svelte dan musim bunga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

CSS Grid adalah alat yang berkuasa untuk mewujudkan susun atur web yang rumit dan responsif. Ia memudahkan reka bentuk, meningkatkan kebolehcapaian, dan menawarkan lebih banyak kawalan daripada kaedah yang lebih lama.

Artikel membincangkan CSS Flexbox, kaedah susun atur untuk penjajaran yang cekap dan pengedaran ruang dalam reka bentuk responsif. Ia menerangkan penggunaan Flexbox, membandingkannya dengan grid CSS, dan butiran sokongan penyemak imbas.

Artikel ini membincangkan teknik untuk membuat laman web responsif menggunakan CSS, termasuk tag Meta Viewport, grid fleksibel, media cecair, pertanyaan media, dan unit relatif. Ia juga meliputi menggunakan grid CSS dan Flexbox bersama -sama dan mengesyorkan rangka kerja CSS

Artikel ini membincangkan harta saiz kotak CSS, yang mengawal bagaimana dimensi elemen dikira. Ia menerangkan nilai seperti kotak kandungan, kotak sempadan, dan kotak padding, dan kesannya terhadap reka bentuk susun atur dan penjajaran bentuk.

Artikel membincangkan membuat animasi menggunakan CSS, sifat utama, dan menggabungkan dengan JavaScript. Isu utama adalah keserasian penyemak imbas.

Artikel membincangkan menggunakan CSS untuk transformasi 3D, sifat utama, keserasian penyemak imbas, dan pertimbangan prestasi untuk projek web. (Kira -kira aksara: 159)

Artikel ini membincangkan menggunakan kecerunan CSS (linear, radial, mengulangi) untuk meningkatkan visual laman web, menambah kedalaman, fokus, dan estetika moden.

Artikel membincangkan unsur-unsur pseudo dalam CSS, penggunaannya dalam meningkatkan gaya HTML, dan perbezaan dari kelas pseudo. Menyediakan contoh praktikal.


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

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

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

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma
