Rumah hujung hadapan web tutorial css @KeyFrames CSS: Contoh kod terbaik

@KeyFrames CSS: Contoh kod terbaik

Jun 18, 2025 am 12:05 AM
php java

CSS @KeyFrames digunakan untuk menentukan pelbagai peringkat dan perubahan animasi. 1) Penggunaan Asas: Tentukan animasi melalui @keyframes, seperti Fadein berubah dari telus ke legap. 2) Animasi Loop: Gunakan kata kunci tak terhingga untuk membuat kesan putaran berterusan. 3) Pengoptimuman Prestasi: Gunakan atribut yang akan berubah untuk meningkatkan kelancaran animasi. 4) Kebolehcapaian: Laraskan animasi untuk memenuhi keutamaan pengguna melalui pertanyaan media gerakan yang lebih tinggi. 5) Kawalan fleksibel: Campurkan pembolehubah CSS untuk mencapai animasi perubahan warna. 6) Laraskan kesan: Buat animasi lebih semula jadi dengan mengubah suai tempoh dan fungsi masa.

@KeyFrames CSS: Contoh kod terbaik

Peraturan CSS @keyframes adalah teras animasi, yang mentakrifkan pelbagai peringkat dan perubahan animasi. Dalam artikel ini, kami akan menyelam bagaimana menggunakan @keyframes untuk mewujudkan kesan animasi yang kaya, bukan hanya peralihan mudah, tetapi juga beberapa senario aplikasi yang kompleks dan amalan terbaik.

Ketika datang ke aplikasi @keyframes , kita perlu mempertimbangkan kepentingannya dalam reka bentuk web moden. Animasi bukan sahaja hiasan visual, tetapi juga cara penting untuk meningkatkan pengalaman pengguna. Dengan @keyframes kita dapat mengawal perubahan elemen pada garis masa, menghasilkan kesan animasi yang lancar dan menarik.

Mari kita mulakan dengan contoh mudah untuk menggambarkan penggunaan asas @keyframes :

 @keyframes fadein {
  dari {
    Kelegapan: 0;
  }
  ke {
    Kelegapan: 1;
  }
}

.fade-in {
  Animasi: Fadein 2s mudah;
}

Dalam contoh ini, kita menentukan animasi yang dipanggil fadeIn , yang secara beransur -ansur berubah dari sepenuhnya telus ( opacity: 0 ) kepada kelegapan sepenuhnya ( opacity: 1 ). Kami kemudian memohon animasi ini ke elemen dengan kelas fade-in , tetapkan tempoh animasi hingga 2 saat, dan gunakan ease-in sebagai kesan peralihan.

Sekarang, mari kita meneroka lebih banyak petua penggunaan @keyframes 'dan beberapa aplikasi lanjutan.

Pertama, kita boleh menggunakan @keyframes untuk membuat animasi gelung, yang sangat berguna ketika membuat petunjuk beban atau animasi latar belakang:

 @keyframes berputar {
  dari {
    transform: putar (0deg);
  }
  ke {
    Transform: Putar (360Deg);
  }
}

.loading-spinner {
  Animasi: Spin 1S linear tak terhingga;
}

Dalam contoh ini, animasi spin menyebabkan unsur -unsur berputar secara berterusan, dan kata kunci infinite memastikan bahawa gelung animasi tidak terhingga. linear memastikan kelajuan putaran yang berterusan dan tidak mempunyai kesan pecutan dan penurunan seperti ease-in .

Apabila menggunakan @keyframes , kita juga perlu memberi perhatian kepada prestasi animasi. Animasi yang terlalu kompleks boleh menyebabkan kemerosotan prestasi halaman, terutamanya pada peranti mudah alih. Untuk mengoptimumkan prestasi, kita boleh menggunakan atribut will-change untuk mendorong penyemak imbas yang akan berubah, untuk menyediakan terlebih dahulu:

 @KeyFrames Slidein {
  dari {
    Transform: TranslateX (-100%);
  }
  ke {
    Transform: TranslateX (0);
  }
}

.slide-in {
  Will-change: Transform;
  Animasi: Slidein 0.5s mudah keluar;
}

Di sini, kami menggunakan will-change: transform untuk memberitahu penyemak imbas bahawa atribut transform akan berubah, yang membantu meningkatkan kelancaran animasi.

Satu lagi aspek yang perlu dipertimbangkan ialah kebolehcapaian animasi. Animasi boleh menyebabkan ketidakselesaan di kalangan beberapa pengguna, terutama mereka yang mengalami gangguan epilepsi atau dismotik. Untuk melakukan ini, kita boleh menggunakan pertanyaan media prefers-reduced-motion untuk mengesan keutamaan pengguna dan menyesuaikan animasi dengan sewajarnya:

 @keyframes fadein {
  dari {
    Kelegapan: 0;
  }
  ke {
    Kelegapan: 1;
  }
}

.fade-in {
  Animasi: Fadein 2s mudah;
}

@media (lebih suka-dikurangkan-gerakan: mengurangkan) {
  .fade-in {
    Animasi: Tiada;
  }
}

Dengan tetapan ini, animasi kami akan dilumpuhkan apabila pengguna membolehkan pilihan Gerakan Mengurangkan, dengan itu meningkatkan kebolehcapaian laman web.

Dalam projek sebenar, saya mendapati bahawa @keyframes boleh digunakan bersamaan dengan pembolehubah CSS (sifat tersuai) untuk mencapai kawalan animasi yang lebih fleksibel. Sebagai contoh, kita boleh menentukan animasi perubahan warna dan menggunakan pembolehubah CSS untuk mengawal warna:

 : root {
  --Tart-color: #FF0000;
  -Enend-color: #00FF00;
}

@KeyFrames ColorChange {
  dari {
    latar belakang warna: var (-permulaan warna);
  }
  ke {
    latar belakang warna: var (-warna akhir);
  }
}

.Color-change {
  Animasi: ColorChange 3s mudah-in-out tak terhingga;
}

Dalam contoh ini, kami menggunakan pembolehubah CSS untuk menentukan warna permulaan dan akhir animasi, supaya kesan animasi dapat diselaraskan dengan mudah tanpa mengubah peraturan @keyframes .

Akhirnya, saya ingin berkongsi masalah yang saya hadapi: Apabila menggunakan @keyframes , jika animasi berlangsung terlalu pendek, ia boleh menyebabkan animasi kelihatan tidak cukup lancar. Untuk menyelesaikan masalah ini, saya biasanya menyesuaikan tempoh animasi dan mencuba timing-function yang berbeza untuk mencari hasil yang terbaik:

 @KeyFrames Bounce {
  0%, 100% {
    Transform: Translate (0);
  }
  50% {
    Transform: Translatey (-20px);
  }
}

.bounce {
  Animasi: Bounce 0.8s Ease-In-Out Infinite;
}

Dalam contoh ini, saya mendapati bahawa menetapkan masa animasi hingga 0.8 saat dan menggunakan ease-in-out fungsi masa menjadikan kesan lantunan lebih semula jadi dan licin.

Secara umum, @keyframes adalah alat yang kuat dan fleksibel dalam CSS, di mana kita boleh membuat pelbagai kesan animasi yang kompleks dan menarik. Melalui pengenalan dan contoh artikel ini, saya harap anda dapat lebih memahami bagaimana @keyframes digunakan dan fleksibel menggunakan teknik ini dalam projek -projek sebenar.

Atas ialah kandungan terperinci @KeyFrames CSS: Contoh kod terbaik. 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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

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)

Topik panas

Apakah ciri -ciri dan cara menggunakannya dalam php Apakah ciri -ciri dan cara menggunakannya dalam php Oct 02, 2025 am 04:17 AM

TraitsinphpenableHorizontalcodereuseSebyAllowingClassestoinheritmethodsfromreusableTraitContainers, Bypassingleinheritancelimits.Forexample, theloggabletraitprovidesalog ()

Cara menggunakan set_error_handler untuk membuat pengendali ralat tersuai di php Cara menggunakan set_error_handler untuk membuat pengendali ralat tersuai di php Oct 02, 2025 am 03:54 AM

set_error_handlerinphpenablescustomerrorhandlingbydefiningafunctionThatThatInterceptSrecoverableArrors, membolehkanControlledLogginganduser-friendlyresponses; iTacceptSparameterslike $ errno, $ errstr, errlinkoRordeRrordetails.

Cara Menggunakan Kelas Fail untuk Operasi Fail Moden di Java Cara Menggunakan Kelas Fail untuk Operasi Fail Moden di Java Oct 04, 2025 am 12:03 AM

Thefilesclassinjavaprovidesamodernapiforfileoperations.itsimplifiesreading, writing, copying, mover, anddeletingfilesingSingStaticMethodsLikeReadallines, write, copy, move, anddelete.usepaths.get ()

Cara melaksanakan barisan menyekat di Java Cara melaksanakan barisan menyekat di Java Oct 01, 2025 am 02:57 AM

Menggunakan antara muka BlockingQueue terbina dalam Java adalah cara yang disyorkan untuk melaksanakan barisan menyekat. Sebagai contoh, ArrayBlockingQueue menyediakan barisan selamat thread yang dibatasi berdasarkan tatasusunan; 2. Anda boleh membina giliran menyekat tersuai dari sifar melalui disegerakkan, tunggu () dan notifyAll () untuk memastikan bahawa kaedah meletakkan blok apabila giliran penuh, mengambil kaedah blok apabila giliran kosong, dan menggunakan gelung sementara untuk mengelakkan bangun palsu; 3. Pelaksanaan terbina dalam adalah benang selamat, prestasi yang sangat baik, dan menyokong operasi masa tamat. Ia harus diberi keutamaan untuk digunakan dalam persekitaran pengeluaran, dan pelaksanaan tersuai digunakan terutamanya untuk pembelajaran atau keperluan khas.

Bagaimana untuk menghasilkan kata laluan rawak yang selamat di Java? Bagaimana untuk menghasilkan kata laluan rawak yang selamat di Java? Oct 04, 2025 am 04:11 AM

Menjana kata laluan yang selamat dengan SecureRandom, menggabungkan huruf, nombor dan aksara khas untuk memastikan kepelbagaian kata laluan dan mengelakkan penjana nombor rawak yang tidak selamat.

Cara menukar rentetan dari satu pengekodan aksara ke yang lain dalam php Cara menukar rentetan dari satu pengekodan aksara ke yang lain dalam php Oct 09, 2025 am 03:45 AM

Gunakan fungsi mb_convert_encoding () untuk menukar rentetan antara pengekodan aksara yang berbeza. Pastikan sambungan multibytestring PHP diaktifkan. 1. Format fungsi ini ialah mb_convert_encoding (rentetan, pengekodan sasaran, pengekodan sumber), seperti menukarkan ISO-8859-1 ke UTF-8; 2. Ia boleh digabungkan dengan mb_detect_encoding () untuk mengesan pengekodan sumber, tetapi hasilnya mungkin tidak tepat; 3. Ia sering digunakan untuk menukar data pengekodan lama ke UTF-8 untuk menyesuaikan diri dengan aplikasi moden; 4. Iconv alternatif () menyokong // transit dan // mengabaikan pilihan, tetapi konsistensi cross-platform adalah miskin; 5. Disyorkan terlebih dahulu

Bagaimana cara mengesahkan input pengguna di bahagian pelayan di PHP? Bagaimana cara mengesahkan input pengguna di bahagian pelayan di PHP? Oct 03, 2025 am 03:23 AM

Pelayan-sidevalidationInphpiscrucialForsecurityandDataintegrity.1.useFilter_input () danFilter_var () tosanitizeAndValidateInput.2.CheckRequiredSwithEmpty () Ortrim ()

Cara Mengurangkan Argumen Barisan Perintah dalam Skrip PHP Cara Mengurangkan Argumen Barisan Perintah dalam Skrip PHP Oct 03, 2025 am 04:29 AM

Gunakan $ argv dan $ argc untuk memproses parameter baris arahan, $ argv [0] adalah nama skrip, dan seterusnya ia adalah nilai masuk; GetOpt () menyokong parsing pilihan pendek dan panjang, seperti -u atau --user = nilai, kolon mewakili nilai yang diperlukan, dan kolon berganda mewakili nilai pilihan. Menggabungkan kedua -duanya boleh mencapai pemprosesan parameter fleksibel.

See all articles