国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
末尾填充頭部第一組數(shù)據(jù)
橫向無限輪播
輪播圖?不在話下
Rumah hujung hadapan web tutorial css Ternyata karusel teks dan karusel imej juga boleh direalisasikan menggunakan CSS tulen!

Ternyata karusel teks dan karusel imej juga boleh direalisasikan menggunakan CSS tulen!

Jun 10, 2022 pm 01:00 PM
css javascript css3 animasi hujung hadapan

Bagaimana untuk mencipta karusel teks dan karusel imej? Perkara pertama yang semua orang fikirkan ialah sama ada untuk menggunakan js Malah, karusel teks dan karusel imej juga boleh direalisasikan menggunakan CSS tulen. Saya harap ia akan membantu semua orang.

Ternyata karusel teks dan karusel imej juga boleh direalisasikan menggunakan CSS tulen!

Hari ini, saya ingin berkongsi satu teknik animasi yang boleh digunakan dalam perniagaan sebenar. [Pembelajaran yang disyorkan: tutorial video css]

Mahir menggunakan animasi bingkai demi bingkai dan animasi tween untuk mencapai kesan karusel gelung tak terhingga, seperti ini:

Melihat gambarajah di atas, beberapa pelajar tidak dapat mengelak daripada bertanya, bukankah ini animasi anjakan yang sangat mudah?

Mari kita buat analisis mudah Pada zahirnya, nampaknya hanya transform: translate() elemen yang beralih, tetapi perhatikan , terdapat dua kesukaran di sini:

<. . yang terakhir apabila anda perlu menghidupkan untuk memotong elemen pertama style="list-style-type: disc;">
  • di sini, anda boleh menjeda dan memikirkannya Jika terdapat 20 elemen, anda perlu melakukan siaran karusel tak terhingga yang serupa . Gunakan CSS untuk melaksanakannya, bagaimana anda melakukannya?
  • Animasi bingkai demi bingkai mengawal pensuisan keseluruhan

    Pertama sekali, saya perlu menggunakan kesan animasi bingkai demi bingkai, juga dikenali sebagai
  • fungsi pelonggaran langkah, yang menggunakan

    , langkah-langkahnya, sintaksnya adalah seperti berikut:

    Jika anda tidak tahu banyak tentang sintaks

    , saya amat mengesyorkan anda membaca artikel ini saya dahulukan - Penjelasan ringkas tentang animasi CSS, yang membantu untuk memahami Artikel ini memainkan peranan penting. Baiklah, mari kita berpegang pada contoh pada permulaan artikel Katakan kita mempunyai struktur HTML ini: animation-timing-function

    {
    ????/*?Keyword?values?*/
    ????animation-timing-function:?step-start;
    ????animation-timing-function:?step-end;
    ????/*?Function?values?*/
    ????animation-timing-function:?steps(6,?start)
    ????animation-timing-function:?steps(4,?end);
    }
    Pertama, kami melaksanakan susun atur yang begitu mudah:

    steps

    <div class="g-container">
      <ul>
        <li>Lorem ipsum 1111111</li>
        <li>Lorem ipsum 2222222</li>
        <li>Lorem ipsum 3333333</li>
        <li>Lorem ipsum 4444444</li>
        <li>Lorem ipsum 5555555</li>
        <li>Lorem ipsum 6666666</li>
      </ul>
    </div>
    Di sini, untuk mencapai kesan karusel dan sebarang nombor, kita boleh menggunakan

    :

    Jangan lihat berapa banyak di atas Ia mengelirukan untuk menggunakan pembolehubah CSS, tetapi ia sebenarnya mudah difahami:

    animation-timing-function: steps(): penggunaan masa animasi tunggal * bilangan karusel, iaitu, jumlah tempoh animasi

    :root {
      // 輪播的個數(shù)
      --s: 6;
      // 單個 li 容器的高度
      --h: 36;
      // 單次動畫的時長
      --speed: 1.5s;
    }
    .g-container {
      width: 300px;
      height: calc(var(--h) * 1px);
    }
    ul {
      display: flex;
      flex-direction: column;
      animation: move calc(var(--speed) * var(--s)) steps(var(--s)) infinite;
    }
    ul li {
      width: 100%;
    }
    @keyframes move {
      0% {
        transform: translate(0, 0);
      }
      100% {
        transform: translate(0, calc(var(--s) * var(--h) * -1px));
      }
    }

      ialah bilangan bingkai animasi bingkai demi bingkai, berikut ialah
    • , yang mudah difahami

      calc(var(--speed) * var(--s))

      Ketinggian bekas li tunggal* Bilangan karusel sebenarnya ialah ketinggian keseluruhan ul, yang digunakan untuk menetapkan nilai akhir animasi bingkai demi bingkai
    • steps(var(--s))Kesan di atas sebenarnya seperti berikut: steps(6)

    • calc(var(--s) * var(--h) * -1px))

      Jika anda menambah
    • pada bekas, ini adalah kesannya:

    Dengan cara ini, kita Struktur keseluruhan diperolehi Sekurang-kurangnya, keseluruhan kesan adalah bulat.

    Tetapi memandangkan ia hanya animasi bingkai demi bingkai, anda hanya boleh melihat penukaran, tetapi tiada kesan animasi peralihan antara setiap bingkai. Jadi, seterusnya, kita perlu memperkenalkan animasi tweening. overflow: hidden

    Gunakan animasi tweening untuk bertukar antara dua set data

    Kita perlu menggunakan animasi tweening untuk mencapai kesan penukaran dinamik. Langkah ini sebenarnya sangat mudah. ??Apa yang perlu kita lakukan ialah menggunakan

    untuk memindahkan satu set data dari keadaan A ke keadaan B.

    Jika anda mengambil satu untuk demonstrasi sahaja, kod anggarannya adalah seperti berikut:

    Animasi yang sangat mudah:

    transform

    Berdasarkan kesan di atas, jika kita menggabungkan
    <div class="g-container">
      <ul style="--s: 6">
        <li>Lorem ipsum 1111111</li>
        <li>Lorem ipsum 2222222</li>
        <li>Lorem ipsum 3333333</li>
        <li>Lorem ipsum 4444444</li>
        <li>Lorem ipsum 5555555</li>
        <li>Lorem ipsum 6666666</li>
      </ul>
    </div>
    animasi bingkai demi bingkai
    :root {
      --h: 36;
      --speed: 1.2s;
    }
    ul li {
      height: 36px;
      animation: liMove calc(var(--speed)) infinite;
    }
    @keyframes liMove {
      0% {
        transform: translate(0, 0);
      }
      80%,
      100%  {
        transform: translate(0, -36px);
      }
    }
    yang dinyatakan pada permulaan dengan

    animasi tween

    di sini, keseluruhannya pergerakan ul, dan Susun pergerakan individu li bersama-sama:

    Ternyata karusel teks dan karusel imej juga boleh direalisasikan menggunakan CSS tulen! untuk mendapatkan kesan seperti ini:

    Wah, menakjubkan Satu tindak balas kimia berlaku! Berdasarkan gabungan

    animasi bingkai demi bingkai
    :root {
      // 輪播的個數(shù)
      --s: 6;
      // 單個 li 容器的高度
      --h: 36;
      // 單次動畫的時長
      --speed: 1.5s;
    }
    .g-container {
      width: 300px;
      height: calc(var(--h) * 1px);
    }
    ul {
      display: flex;
      flex-direction: column;
      animation: move calc(var(--speed) * var(--s)) steps(var(--s)) infinite;
    }
    ul li {
      width: 100%;
      animation: liMove calc(var(--speed)) infinite;
    }
    @keyframes move {
      0% {
        transform: translate(0, 0);
      }
      100% {
        transform: translate(0, calc(var(--s) * var(--h) * -1px));
      }
    }
    @keyframes liMove {
      0% {
        transform: translate(0, 0);
      }
      80%,
      100%  {
        transform: translate(0, calc(var(--h) * -1px));
      }
    }
    dan

    animasi tween

    , kami hampir mencapai kesan karusel.

    當(dāng)然,有一點瑕疵,可以看到,最后一組數(shù)據(jù),是從第六組數(shù)據(jù) transform 移動向了一組空數(shù)據(jù):

    末尾填充頭部第一組數(shù)據(jù)

    實際開發(fā)過輪播的同學(xué)肯定知道,這里,其實也很好處理,我們只需要在末尾,補一組頭部的第一個數(shù)據(jù)即可:

    改造下我們的 HTML:

    <div class="g-container">
      <ul>
        <li>Lorem ipsum 1111111</li>
        <li>Lorem ipsum 2222222</li>
        <li>Lorem ipsum 3333333</li>
        <li>Lorem ipsum 4444444</li>
        <li>Lorem ipsum 5555555</li>
        <li>Lorem ipsum 6666666</li>
        <!--末尾補一個首條數(shù)據(jù)-->
        <li>Lorem ipsum 1111111</li>
      </ul>
    </div>

    這樣,我們再看看效果:

    Beautiful!如果你還有所疑惑,我們給容器加上 overflow: hidden,實際效果如下,通過額外添加的最后一組數(shù)據(jù),我們的整個動畫剛好完美的銜接上,一個完美的輪播效果:

    完整的代碼,你可以戳這里:CodePen Demo -- Vertical Infinity Loop

    https://codepen.io/Chokcoco/pen/RwQVByx

    橫向無限輪播

    當(dāng)然,實現(xiàn)了豎直方向的輪播,橫向的效果也是一樣的。

    并且,我們可以通過在 HTML 結(jié)構(gòu)中,通過 style 內(nèi)填寫 CSS 變量值,傳入實際的 li 個數(shù),以達到根據(jù)不同 li 個數(shù)適配不同動畫:

    <div class="g-container">
      <ul style="--s: 6">
        <li>Lorem ipsum 1111111</li>
        <li>Lorem ipsum 2222222</li>
        <li>Lorem ipsum 3333333</li>
        <li>Lorem ipsum 4444444</li>
        <li>Lorem ipsum 5555555</li>
        <li>Lorem ipsum 6666666</li>
        <!--末尾補一個首尾數(shù)據(jù)-->
        <li>Lorem ipsum 1111111</li>
      </ul>
    </div>

    整個動畫的 CSS 代碼基本是一致的,我們只需要改變兩個動畫的 transform 值,從豎直位移,改成水平位移即可:

    :root {
      --w: 300;
      --speed: 1.5s;
    }
    .g-container {
      width: calc(--w * 1px);
      overflow: hidden;
    }
    ul {
      display: flex;
      flex-wrap: nowrap;
       animation: move calc(var(--speed) * var(--s)) steps(var(--s)) infinite;
    }
    ul li {
      flex-shrink: 0;
      width: 100%;
      height: 100%;
      animation: liMove calc(var(--speed)) infinite;
    }
    @keyframes move {
      0% {
        transform: translate(0, 0);
      }
      100% {
        transform: translate(calc(var(--s) * var(--w) * -1px), 0);
      }
    }
    @keyframes liMove {
      0% {
        transform: translate(0, 0);
      }
      80%,
      100%  {
        transform: translate(calc(var(--w) * -1px), 0);
      }
    }

    這樣,我們就輕松的轉(zhuǎn)化為了橫向的效果:

    完整的代碼,你可以戳這里:CodePen Demo -- Horizontal Infinity Loop

    https://codepen.io/Chokcoco/pen/JjpNBXY

    輪播圖?不在話下

    OK,上面的只是文字版的輪播,那如果是圖片呢?

    沒問題,方法都是一樣的?;谏鲜龅拇a,我們可以輕松地將它修改一下后得到圖片版的輪播效果。

    代碼都是一樣的,就不再列出來,直接看看效果:

    完整的代碼,你可以戳這里:CodePen Demo -- Horizontal Image Infinity Loop

    https://codepen.io/Chokcoco/pen/GRQvqgq

    掌握了這個技巧之后,你可以將它運用在非常多只需要簡化版的輪播效果之上。

    再簡單總結(jié)一下,非常有意思的技巧:

    • 利用 逐幀動畫,實現(xiàn)整體的輪播的循環(huán)效果

    • 利用 補間動畫,實現(xiàn)具體的 狀態(tài)A狀態(tài)B* 的動畫效果

    • 逐幀動畫 配合 補間動畫 構(gòu)成整體輪播的效果

    • 通過向 HTML 結(jié)構(gòu)末尾補充一組頭部數(shù)據(jù),實現(xiàn)整體動畫的銜接

    • 通過 HTML 元素的 style 標簽,利用 CSS 變量,填入實際的參與循環(huán)的 DOM 個數(shù),可以實現(xiàn) JavaScript 與 CSS 的打通

    (學(xué)習(xí)視頻分享:web前端

    Atas ialah kandungan terperinci Ternyata karusel teks dan karusel imej juga boleh direalisasikan menggunakan CSS tulen!. 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.

    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)

    Apa itu 'menyekat CSS'? Apa itu 'menyekat CSS'? Jun 24, 2025 am 12:42 AM

    CSS Blok halaman yang diberikan kerana pelayar melihat CSS dalam talian dan luaran sebagai sumber utama secara lalai, terutamanya dengan stylesheet yang diimport, header sejumlah besar CSS sebaris, dan gaya pertanyaan media yang tidak dapat dioptimumkan. 1. Ekstrak CSS kritikal dan membenamkannya ke HTML; 2. Kelewatan memuatkan CSS bukan kritikal melalui JavaScript; 3. Gunakan atribut media untuk mengoptimumkan pemuatan seperti gaya cetak; 4. Memampatkan dan menggabungkan CSS untuk mengurangkan permintaan. Adalah disyorkan untuk menggunakan alat untuk mengekstrak CSS utama, menggabungkan REL = "Preload" pemuatan asynchronous, dan menggunakan media yang ditangguhkan dengan munasabah untuk mengelakkan pemisahan yang berlebihan dan kawalan skrip kompleks.

    Apakah AutoPrefixer dan bagaimana ia berfungsi? Apakah AutoPrefixer dan bagaimana ia berfungsi? Jul 02, 2025 am 01:15 AM

    AutoPrefixer adalah alat yang secara automatik menambah awalan vendor ke atribut CSS berdasarkan skop penyemak imbas sasaran. 1. Ia menyelesaikan masalah mengekalkan awalan secara manual dengan kesilapan; 2. Bekerja melalui borang pemalam postcss, menghuraikan CSS, menganalisis atribut yang perlu diawali, dan menjana kod mengikut konfigurasi; 3. Langkah-langkah penggunaan termasuk memasang pemalam, menetapkan senarai pelayar, dan membolehkan mereka dalam proses membina; 4. Nota termasuk tidak menambah awalan secara manual, menyimpan kemas kini konfigurasi, awalan tidak semua atribut, dan disyorkan untuk menggunakannya dengan preprocessor.

    Bagaimana anda boleh menghidupkan SVG dengan CSS? Bagaimana anda boleh menghidupkan SVG dengan CSS? Jun 30, 2025 am 02:06 AM

    AnimatingsvgwithcssispossibleusingkeyframesforbasicicanimationsandTransisiSforinterActiveFt.1.use@keyframestodefineAnimationStageFropertiesLikescale, Opacity, andColor.2.AplyTheAnimationTosvgelements.

    Apakah fungsi conic-gradient ()? Apakah fungsi conic-gradient ()? Jul 01, 2025 am 01:16 AM

    Function-gradient () functionIncsscreatesculculargradientsthatrotatecolorstopsaroundroentroint.1.ISIISIDEALFORPIECHARTS, Progressindicators, Colorwheels, andDecorativeBackgrounds.2.itworksByDefiningColorStopsatSpecificles, OpsticalStarting

    Apakah skop harta tersuai CSS? Apakah skop harta tersuai CSS? Jun 25, 2025 am 12:16 AM

    Skop sifat adat CSS bergantung kepada konteks perisytiharan mereka, pembolehubah global biasanya ditakrifkan dalam: akar, manakala pembolehubah tempatan ditakrifkan dalam pemilih khusus untuk komponen dan pengasingan gaya. Sebagai contoh, pembolehubah yang ditakrifkan dalam kelas .card hanya tersedia untuk unsur -unsur yang sepadan dengan kelas dan anak -anak mereka. Amalan terbaik termasuk: 1. Penggunaan: Root untuk menentukan pembolehubah global seperti warna topik; 2. Tentukan pembolehubah tempatan di dalam komponen untuk melaksanakan enkapsulasi; 3. Elakkan berulang kali mengisytiharkan pemboleh ubah yang sama; 4. Beri perhatian kepada masalah liputan yang mungkin disebabkan oleh kekhususan pemilih. Di samping itu, pembolehubah CSS adalah sensitif kes dan harus ditakrifkan sebelum digunakan untuk mengelakkan kesilapan. Jika pemboleh ubah tidak ditentukan atau rujukan gagal, nilai sandaran atau nilai awal lalai akan digunakan. Debug boleh dilakukan melalui pemaju penyemak imbas

    Tutorial CSS yang memberi tumpuan kepada reka bentuk pertama mudah alih Tutorial CSS yang memberi tumpuan kepada reka bentuk pertama mudah alih Jul 02, 2025 am 12:52 AM

    Mudah alih-firstcssdesignrequiressettingtheViewportmetatag, menggunakan pelindung, stylingfromsmallscreensup, optimizingtypographyandtouchtargets.first, addtocontrolscaling.second, use%, eM, orreminsteadofpixelflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflex

    Bagaimana untuk melaksanakan peralihan dan animasi di Vue? Bagaimana untuk melaksanakan peralihan dan animasi di Vue? Jun 24, 2025 pm 02:17 PM

    ToaddtransitionsandanimationsinVue,usebuilt-incomponentslikeand,applyCSSclasses,leveragetransitionhooksforcontrol,andoptimizeperformance.1.WrapelementswithandapplyCSStransitionclasseslikev-enter-activeforbasicfadeorslideeffects.2.Useforanimatingdynam

    Apakah yang dimaksudkan: sasaran kelas pseudo dan bagaimana ia boleh digunakan? Apakah yang dimaksudkan: sasaran kelas pseudo dan bagaimana ia boleh digunakan? Jun 22, 2025 am 12:48 AM

    CSS: Kelas pseudo sasaran digunakan untuk gaya elemen sasaran berdasarkan pengenal fragmen URL. Ia berfungsi oleh pelayar menatal ke elemen apabila URL mengandungi simbol # dan ID elemen dan membolehkan gaya tertentu digunakan untuk elemen melalui: sasaran. Kes -kes penggunaan biasa termasuk menonjolkan bahagian halaman selepas navigasi, membuat tab atau tayangan slaid tanpa JavaScript, dan meningkatkan kebolehcapaian ke halaman panjang. Petua penggunaan termasuk memastikan ID adalah unik, menggabungkan peralihan atau kesan animasi, menukar penglihatan kandungan dengan atribut paparan, dan mempertimbangkan keserasian dengan pelayar yang lebih tua.

    See all articles