Jadual Kandungan
Gunakan scrollLeft
Gunakan transformasi animasi css3
Rumah hujung hadapan web tutorial css Lihat bagaimana untuk mencapai kesan dinamik pintu pusingan gambar menggunakan CSS?

Lihat bagaimana untuk mencapai kesan dinamik pintu pusingan gambar menggunakan CSS?

Dec 30, 2021 am 10:38 AM
css animasi

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!

Lihat bagaimana untuk mencapai kesan dinamik pintu pusingan gambar menggunakan CSS?

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);
  }
}
Salin selepas log masuk

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.

Lihat bagaimana untuk mencapai kesan dinamik pintu pusingan gambar menggunakan CSS?

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>
Salin selepas log masuk

2 gaya sepadan

.box{
display: flex;
overflow: hidden;
flex-direction: column;
border-radius:12px;
width: 100%;
height: 100%;
background-color:#fff;
}
ul{
display: flex;
}
Salin selepas log masuk

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="{
&#39;--card-ul-width-start&#39;:-30+&#39;px&#39;,
&#39;--card-ul-width-middle1&#39;:-cap.length*30+&#39;px&#39;, 
&#39;--card-ul-width-middle2&#39;:-cap.length*60+&#39;px&#39;,
&#39;--card-ul-width-end&#39;:-cap.length*90+&#39;px&#39;
}">
    <ul :style="{&#39;-webkit-animation&#39;:cap.length*8+ &#39;s move infinite linear;&#39;}">
        <li></li>
    </ul>
</div>
Salin selepas log masuk
data(){
    cap:new Array(6).fill(&#39;https://res.minigame.vip/gc-assets/fruit-master/fruit-master_icon.png&#39;)
}
Salin selepas log masuk
@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))
    }    
}
Salin selepas log masuk

(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!

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Apakah maksud pemegang tempat dalam vue Apakah maksud pemegang tempat dalam vue May 07, 2024 am 09:57 AM

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.

Apakah maksud span dalam js Apakah maksud span dalam js May 06, 2024 am 11:42 AM

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.

Apakah maksud rem dalam js Apakah maksud rem dalam js May 06, 2024 am 11:30 AM

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.

Bagaimana untuk memperkenalkan imej ke dalam vue Bagaimana untuk memperkenalkan imej ke dalam vue May 02, 2024 pm 10:48 PM

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.

Bagaimana untuk membungkus prompt dalam js Bagaimana untuk membungkus prompt dalam js May 01, 2024 am 06:24 AM

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.

Apakah nod dalam js Apakah nod dalam js May 07, 2024 pm 09:06 PM

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.

Dalam bahasa apakah pemalam penyemak imbas ditulis? Dalam bahasa apakah pemalam penyemak imbas ditulis? May 08, 2024 pm 09:36 PM

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

Bagaimana untuk menetapkan atribut yang tidak diketahui dalam kaedah vscode vscode untuk menetapkan atribut yang tidak diketahui Bagaimana untuk menetapkan atribut yang tidak diketahui dalam kaedah vscode vscode untuk menetapkan atribut yang tidak diketahui May 09, 2024 pm 02:43 PM

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

See all articles