


Lihat bagaimana untuk mencapai kesan dinamik pintu pusingan gambar menggunakan CSS?
Bagaimana untuk merealisasikan kesan dinamik pintu pusingan gambar menggunakan CSS? Artikel berikut akan memperkenalkan kepada anda cara menggunakan transformasi animasi css3 untuk mencapai kesan imej pusingan saya harap ia akan membantu anda!
Kerana projek itu perlu mencapai kesan pintu pusingan gambar. Selepas menyemak kebanyakan perpustakaan komponen Vue biasa, saya jarang melihat komponen sedemikian, jadi saya secara manual melaksanakan kesan pintu pusingan berdasarkan animasi CSS3. Dua penyelesaian segera terlintas di fikiran, satu ialah menggunakan pemasa, scrollLeft atau ubah suai nilai atribut kiri dalam kedudukan, dan satu lagi ialah menggunakan transformasi dan animasi CSS3.
Pilih untuk menggunakan animasi untuk melaksanakannya Memandangkan animasi yang dilaksanakan oleh js dijalankan pada CPU dan animasi css3 berjalan pada GPU, akhirnya kos pemaparan css3 adalah rendah memutuskan untuk menggunakan css3 untuk melaksanakan jenis operasi ini.
Gunakan scrollLeft
Pada mulanya, limpahan scrollLeft digunakan untuk mencapai kesan, dan pemasa digunakan untuk mencetuskannya, yang akan menyebabkan lukisan semula dan aliran semula setiap masa. (ps: Jika anda perlu meningkatkan prestasi dengan lebih baik, anda boleh menggunakan requestAnimationFrame dan bukannya mencetuskan pemasa. Kelebihan utama ialah requestAnimationFrame akan menumpukan semua operasi DOM dalam setiap bingkai dan menyelesaikannya dalam satu lukisan semula atau aliran semula, dan lukis semula atau aliran semula. Aliran semula selang masa mengikuti kekerapan muat semula penyemak imbas secara amnya, kekerapan ini ialah 60 bingkai sesaat)
(Menukar skrol Kiri mempunyai kesan yang sama seperti kiri) Kod teras:
function toScrollLeft(){ // 如果容器的宽度大于滚动条距离,则重复滚动 if(divWidth > box.scrollLeft){ box.scrollLeft++ setTimeout('toScrollLeft()', 18); } else{ // 滚动结束,从新开始 box.scrollLeft=0; setTimeout('toScrollLeft()', 18); } }
Gunakan transformasi animasi css3
Gunakan animasi css3 untuk melaksanakan tanglung pusingan, gunakan pembolehubah css untuk menetapkan secara dinamik offset translateX bagi setiap transformasi keadaan, dan animasi yang paling kritikal, bahagian pelaksanaan Kesannya ialah gif berikut.
1 Tetapkan reka letak html dan sediakan bekas div
<div class="box" > <ul > <li v-for="(src,i) in cap " :key="i"> <img src="/static/imghw/default1.png" data-src="src" class="lazy" style="max-width:90%" height="90px" : / alt="Lihat bagaimana untuk mencapai kesan dinamik pintu pusingan gambar menggunakan CSS?" > </li> </ul> </div>
2 gaya sepadan
.box{ display: flex; overflow: hidden; flex-direction: column; border-radius:12px; width: 100%; height: 100%; background-color:#fff; } ul{ display: flex; }
3 Akhir sekali, tetapkan objek pengikat kepada gaya Gaya elemen .box terutamanya menggunakan pembolehubah css, dan kemudian secara dinamik menetapkan animasi melalui nilai tertentu. kesan status. Kod kunci menggunakan animasi: cap.length*8 's move infinite linear;
ps: Ini adalah titik operasi keseluruhan utama, butiran lain ditinggalkan
<div class="box" :style="{ '--card-ul-width-start':-30+'px', '--card-ul-width-middle1':-cap.length*30+'px', '--card-ul-width-middle2':-cap.length*60+'px', '--card-ul-width-end':-cap.length*90+'px' }"> <ul :style="{'-webkit-animation':cap.length*8+ 's move infinite linear;'}"> <li></li> </ul> </div>
data(){ cap:new Array(6).fill('https://res.minigame.vip/gc-assets/fruit-master/fruit-master_icon.png') }
@keyframes move { 0%{ transform:translateX(var(--card-ul-width-start)) } 30%{ transform:translateX(var(--card-ul-width-middle1)) } 70%{ transform:translateX(var(--card-ul-width-middle2)) } 100%{ transform:translateX(var(--card-ul-width-end)) } }
(Belajar perkongsian video: tutorial video css )
Atas ialah kandungan terperinci Lihat bagaimana untuk mencapai kesan dinamik pintu pusingan gambar menggunakan CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam Vue.js, atribut pemegang tempat menentukan teks pemegang tempat bagi elemen input, yang dipaparkan apabila pengguna belum memasukkan kandungan, menyediakan petua atau contoh input dan meningkatkan kebolehcapaian borang. Penggunaannya adalah untuk menetapkan atribut pemegang tempat pada elemen input dan menyesuaikan penampilan menggunakan CSS. Amalan terbaik termasuk relevan dengan input, pendek dan jelas, mengelakkan teks lalai dan mempertimbangkan kebolehaksesan.

Teg span boleh menambah gaya, atribut atau gelagat pada teks Ia digunakan untuk: menambah gaya, seperti warna dan saiz fon. Tetapkan atribut seperti id, kelas, dsb. Tingkah laku yang berkaitan seperti klik, tuding, dsb. Tandakan teks untuk pemprosesan atau petikan selanjutnya.

REM dalam CSS ialah unit relatif berbanding saiz fon elemen akar (html). Ia mempunyai ciri-ciri berikut: relatif kepada saiz fon elemen akar, tidak dipengaruhi oleh elemen induk. Apabila saiz fon elemen akar berubah, elemen menggunakan REM akan melaraskan dengan sewajarnya. Boleh digunakan dengan mana-mana harta CSS. Kelebihan menggunakan REM termasuk: Responsif: Pastikan teks boleh dibaca pada peranti dan saiz skrin yang berbeza. Ketekalan: Pastikan saiz fon adalah konsisten di seluruh tapak web anda. Kebolehskalaan: Tukar saiz fon global dengan mudah dengan melaraskan saiz fon elemen akar.

Terdapat lima cara untuk memperkenalkan imej dalam Vue: melalui URL, memerlukan fungsi, fail statik, arahan v-bind dan imej latar belakang CSS. Imej dinamik boleh dikendalikan dalam sifat pengiraan atau pendengar Vue, dan alatan yang digabungkan boleh digunakan untuk mengoptimumkan pemuatan imej. Pastikan laluan adalah betul jika tidak ralat memuatkan akan muncul.

Apabila menggunakan kaedah prompt() dalam JavaScript, anda boleh mencapai pemisah baris melalui tiga kaedah berikut: 1. Masukkan aksara "\n" pada kedudukan yang anda ingin putuskan baris 2. Gunakan aksara pemisah baris dalam teks gesaan; 3. Gunakan gaya "putih" -ruang: pra" CSS memaksa pemisah baris.

Nod ialah entiti dalam DOM JavaScript yang mewakili elemen HTML. Ia mewakili elemen tertentu dalam halaman dan boleh digunakan untuk mengakses dan memanipulasi elemen tersebut. Jenis nod biasa termasuk nod elemen, nod teks, nod ulasan dan nod dokumen. Melalui kaedah DOM seperti getElementById(), anda boleh mengakses nod dan mengendalikannya, termasuk mengubah suai sifat, menambah/mengalih keluar nod anak, memasukkan/menggantikan nod dan nod pengklonan. Traversal nod membantu menavigasi dalam struktur DOM. Nod berguna untuk mencipta kandungan halaman, pengendalian acara, animasi dan pengikatan data secara dinamik.

Pemalam penyemak imbas biasanya ditulis dalam bahasa berikut: Bahasa bahagian hadapan: JavaScript, HTML, CSS Bahasa bahagian belakang: C++, Rust, WebAssembly Bahasa lain: Python, Java

1. Mula-mula, buka ikon tetapan di sudut kiri bawah dan klik pilihan tetapan 2. Kemudian, cari lajur CSS dalam tetingkap lompat .
