Jadual Kandungan
Gaya asas
Mekanisme animasi
Rumah hujung hadapan web tutorial css Animasi Matryoshka Dolls di CSS

Animasi Matryoshka Dolls di CSS

Apr 09, 2025 am 10:01 AM

Kesan animasi anak patung Rusia yang dicipta oleh CSS tulen! Artikel ini akan membawa anda untuk merealisasikan langkah animasi CSS yang menarik demi langkah, mensimulasikan kesan pembukaan lapisan anak patung Rusia dengan lapisan, dan menggunakan bear codepen untuk menggantikan imej anak patung tradisional. Tiada JavaScript diperlukan, semua fungsi interaktif dapat dicapai menggunakan CSS sahaja.

Animasi Matryoshka Dolls di CSS

Artikel ini akan menerangkan secara terperinci bagaimana menggunakan CSS untuk mencapai kesan animasi yang sejuk ini, termasuk pembinaan struktur HTML, mekanisme animasi CSS teras dan pengindahan gaya muktamad.

Pertama sekali, kita tidak meneruskan kecantikan, kita mula -mula membina struktur HTML dan merealisasikan interaksi asas. Untuk menetapkan semula mudah, kami membungkus keseluruhan adegan animasi dalam bentuk HTML, menggunakan<input type="reset"> Melaksanakan fungsi reset bebas JavaScript. Kami akan menggunakan helah kotak semak dan tag bentuk yang berkaitan untuk membuat hierarki anak patung. Berikut adalah contoh menggunakan bahasa PUG Template, dan sudah tentu anda juga boleh menulis HTML secara manual:

Salin selepas log masuk

Seterusnya, kita perlu menentukan gaya dan logik interaksi anak patung (atau beruang). Matlamatnya ialah:

  1. Hanya satu kotak semak yang dipaparkan pada satu masa.
  2. Klik kotak semak untuk memaparkan label kotak semak seterusnya.
  3. Hanya borang yang boleh ditetapkan semula apabila kotak semak paling dalam dicapai.

Ini memerlukan penggunaan pemilih saudara bersebelahan CSS ().

 Input: Label Input Label Ditambah {
  paparan: blok;
}
Salin selepas log masuk

Untuk memaparkan tag pertama, kami boleh menambah style="display: block;" dalam html.

Walau bagaimanapun, tag terakhir tidak mempunyai kotak semak yang berkaitan, jadi peraturan tambahan diperlukan:

 Input: Label Input Label Ditambah,
Input: Label Label yang Daftar {
  paparan: blok;
}
Salin selepas log masuk

Ini melaksanakan interaksi asas, diikuti oleh bahagian animasi yang lebih kompleks.

Gaya asas

Pertama, kami membuat beberapa kotak mudah untuk mewakili anak patung dan melakukan gaya asas:

 .doll {
  / * ... gaya ... */
}
Salin selepas log masuk

Mengklik pada anak patung akan segera memaparkan yang seterusnya. Selepas mencapai anak patung terakhir, anda boleh menetapkan semula borang dan memulakan semula.

Mekanisme animasi

Kami akan animasi berdasarkan titik tengah. Langkah Animasi:

  1. Anak patung semasa slaid ke kiri.
  2. Buka anak patung dan paparkan yang seterusnya.
  3. Gerakkan anak patung seterusnya ke kedudukan permulaan anak patung semasa.
  4. Anak patung semasa memudar.
  5. Tetapkan anak patung seterusnya sebagai anak patung semasa.

Kami menggunakan pembolehubah CSS untuk mengawal kelajuan dan tingkah laku animasi. Pertama, biarkan anak patung semasa meluncur ke kiri:

 : root {
  -kelajuan: 0.25;
  --base-slaid: 100;
  -jarak jauh: 60;
}

Input: Label diperiksa {
  Animasi: slideleft calc (var (-kelajuan) * 1s) ke hadapan;
  Pointer-events: Tiada; /* Mencegah klik berulang*/
}

@KeyFrames slideleft {
  ke {
    Transform: Translate (Calc ((Var (-Base-Slide) * -1px) var (-Slide-Distance) * -1%), 0);
  }
}
Salin selepas log masuk

Untuk mengelakkan klik berulang, kami menambah pointer-events: none; .

Seterusnya, kita perlu menghidupkan anak patung untuk menunjukkan yang seterusnya. Ini memerlukan beberapa elemen tambahan untuk mensimulasikan kesan pembukaan dan kelewatan memaparkan tab seterusnya. Kami akan menggunakan elemen span untuk membuat anak patung "palsu" dan menggantikannya dengan anak patung sebenar selepas animasi berakhir.

<label for="doll--1">
  <span class="doll__half doll__half--top"></span>
  <span class="doll__half doll__half--bottom"></span>
</label>
Salin selepas log masuk

Kemudian terdapat animasi anak patung @keyframes , termasuk pembukaan penutup, animation-delay boneka animation-fill-mode , dan sebagainya. Akhirnya, dengan menyesuaikan saiz dan gaya anak patung, dan menambah beberapa animasi terperinci, seperti kesan pudar, anda dapat menyelesaikan animasi seluruh anak patung Rusia. Kod lengkap boleh didapati di Codepen.

Melalui langkah -langkah di atas, kami telah menggunakan CSS untuk mencapai kesan animasi anak patung Rusia yang menarik ini. Semoga artikel ini membantu anda memahami dan menguasai kemahiran.

Atas ialah kandungan terperinci Animasi Matryoshka Dolls di CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Ia &#039; s! Tahniah kepada pasukan Vue untuk menyelesaikannya, saya tahu ia adalah usaha besar dan lama datang. Semua dokumen baru juga.

Membina aplikasi Ethereum menggunakan redwood.js dan fauna Membina aplikasi Ethereum menggunakan redwood.js dan fauna Mar 28, 2025 am 09:18 AM

Dengan pendakian harga bitcoin baru -baru ini lebih dari 20k $ USD, dan baru -baru ini melanggar 30k, saya fikir ia patut mengambil menyelam yang mendalam kembali ke dalam mewujudkan Ethereum

Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Apr 02, 2025 pm 06:17 PM

Saya mempunyai seseorang yang menulis dengan soalan yang sangat legit ini. Lea hanya blog tentang bagaimana anda boleh mendapatkan sifat CSS yang sah dari penyemak imbas. That &#039; s seperti ini.

Kad yang disusun dengan kedudukan melekit dan sasaran sass Kad yang disusun dengan kedudukan melekit dan sasaran sass Apr 03, 2025 am 10:30 AM

Pada hari yang lain, saya melihat sedikit ini sangat indah dari laman web Corey Ginnivan di mana koleksi kad timbunan di atas satu sama lain semasa anda menatal.

Sedikit di CI/CD Sedikit di CI/CD Apr 02, 2025 pm 06:21 PM

Saya &#039;

Membandingkan penyemak imbas untuk reka bentuk responsif Membandingkan penyemak imbas untuk reka bentuk responsif Apr 02, 2025 pm 06:25 PM

Terdapat beberapa aplikasi desktop ini di mana matlamat menunjukkan laman web anda pada dimensi yang berbeza pada masa yang sama. Oleh itu, anda boleh menulis

Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Apr 02, 2025 am 04:27 AM

Jika kita perlu menunjukkan dokumentasi kepada pengguna secara langsung dalam editor WordPress, apakah cara terbaik untuk melakukannya?

Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Apr 05, 2025 pm 05:51 PM

Soalan mengenai kawasan slash ungu dalam susun atur flex Apabila menggunakan susun atur flex, anda mungkin menghadapi beberapa fenomena yang mengelirukan, seperti dalam alat pemaju (D ...

See all articles