cari
Rumahhujung hadapan webSoal Jawab bahagian hadapanContoh penggunaan css untuk merealisasikan kegembiraan Fat Orange (perkongsian contoh)

Artikel ini membawakan anda operasi berkaitan untuk melengkapkan animasi kreatif perubahan mood kucing oren melalui vite scss saya harap ia akan membantu semua orang.

Contoh penggunaan css untuk merealisasikan kegembiraan Fat Orange (perkongsian contoh)

Dalam keluaran ini, kami menggunakan vite scss untuk melengkapkan animasi kreatif perubahan mood kucing oren Kami tidak akan menggunakan sebarang kod js untuk logik di sini dan hanya bergantung pada css untuk melengkapkannya, jadi , melalui animasi dalam keluaran ini, anda boleh mempelajari beberapa animasi CSS dan teknik lukisan.

 1.gif

Ia agak comel. Apabila tikus (ikan) bergerak masuk dan keluar, oren menjadi kusam dan tidak bermaya. Tetapi apabila tikus (ikan) bergerak masuk, oren segera menjadi gembira apabila dia melihat ikan kegemarannya, malah cuaca menjadi lebih baik Ya, oren ini sangat tamak, dan ada sebab mengapa dia berubah menjadi oren yang gemuk.

Baiklah, kami akan memasuki teks utama Kami akan memahami proses pembuatan animasi ini dari pembinaan asas, lukisan dan animasi matahari, awan dan kucing.

1. Pembinaan dan struktur

yarn add vite sass sass-loader

Kami menggunakan vite dan sass untuk menyiapkan pembinaan projek dan penulisan gaya, jadi kami memasangnya terlebih dahulu.

<div id="app">
    <div class="warrper">
        <div class="sun"></div>
        <div class="cloud"></div>
        <div class="cat">
            <div class="eye left"><div class="eye-hide"></div></div>
            <div class="eye right"><div class="eye-hide"></div></div>
            <div class="nose"></div>
            <div class="mouth"></div>
        </div>
    </div>
</div>

Dalam html kita mula-mula menulis struktur. div#app berfungsi sebagai antara muka utama untuk mengisi skrin, dan div.warrper berfungsi sebagai kawasan paparan untuk kandungan utama, iaitu bulatan. Kemudian, dalam bulatan, kami meletakkan matahari div.sun, awan div.cloud, dan kucing div.cat Sudah tentu, kucing juga mempunyai mata, hidung, dan mulut pseudo-class untuk membuat segitiga.

2. Pembolehubah dan antara muka

$cat:rgb(252, 180, 125);
:root{
    --bgColor:rgb(81, 136, 168);
    --eyeHideTop:0px;
    --cloudLeft:45%;
    --mouthRadius:10px 10px 0 0;
}
#app{
    width: 100%;
    height: 100vh;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: repeating-linear-gradient(0deg, hsla(340,87%,75%,0.2) 0px, hsla(340,87%,75%,0.2) 30px,transparent 30px, transparent 60px),repeating-linear-gradient(90deg, hsla(340,87%,75%,0.2) 0px, hsla(340,87%,75%,0.2) 30px,transparent 30px, transparent 60px),linear-gradient(90deg, rgb(255,255,255),rgb(255,255,255));
}
.warrper{
    width: 320px;
    height: 320px;
    border-radius: 50%;
    border: 10px solid white;
    position: relative;
    overflow: hidden;
    background-color: var(--bgColor);
    transition: background-color 1s linear;
    cursor:url("./assets/fish.png"),default;
    &:hover{
        --bgColor:rgb(178, 222, 247);
        --eyeHideTop:-20px;
        --cloudLeft:100%;
        --mouthRadius:0 0 10px 10px;
    }
}

Kami mula-mula menentukan warna utama kucing, dan beberapa warna dan jarak yang akan ditukar, kerana kami akan menukar atribut ini melalui css3, jadi Capai pelaksanaan animasi tertentu.

Apa yang kami harapkan ialah apabila tetikus bergerak ke dalam bulatan, langit menjadi cerah, awan tersebar, dan kucing itu gembira dan penuh tenaga Oleh itu, bgColor: warna langit, kelopak mata kucing eyeHideTop y-. jarak paksi, awanAwan kiri x-axis offset Jarak, mulutRadius Nilai sudut bulat mulut kucing. Pada masa ini, nilai ini akan berubah apabila tetikus bergerak ke div.warrper. Selain itu, saya memperibadikan ikon tetikus untuk bergerak ke dalam bulatan dan mengubahnya menjadi ikan (iaitu kursor:url (alamat gambar)). Nilai selepas tuding di sini dikira oleh saya terlebih dahulu. Jika anda membangunkan animasi lain sekali lagi, anda boleh mengiranya semasa anda pergi.

Contoh penggunaan css untuk merealisasikan kegembiraan Fat Orange (perkongsian contoh)

3 Matahari dan awan

.sun{
    width: 50px;
    height: 50px;
    position: absolute;
    background-color: rgb(255, 229, 142);
    border:7px solid rgb(253, 215, 91);
    border-radius: 50%;
    left: 55%;
    top: 14%;
    box-shadow: 0 0 6px rgb(255, 241, 48);
}

Untuk matahari, kami melukis bulatan untuk menentukan kedudukannya, dan kemudian menggunakan unjuran bayang kotak untuk capai kesan glowing sikit .

Contoh penggunaan css untuk merealisasikan kegembiraan Fat Orange (perkongsian contoh)

Kemudian, kita mula melukis awan~

.cloud{
    width: 100px;
    height: 36px;
    background-color: white;
    position: absolute;
    transition: left .6s linear;
    left: var(--cloudLeft);
    top: 23%;
    border-radius: 36px;
    animation: bouncy 2s ease-in-out infinite;
    &::before{
        content: &#39;&#39;;
        width: 50px;
        height: 50px;
        background-color: white;
        border-radius: 50%;
        position: absolute;
        top: -23px;
        left: 18px;
    }
    &::after{
        content: &#39;&#39;;
        width: 26px;
        height: 26px;
        background-color: white;
        border-radius: 50%;
        position: absolute;
        top: -16px;
        left: 56px;
    }
}
@keyframes bouncy {
    0% {
      transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

Awan adalah sangat mudah, kita hanya melukis segi empat tepat bulat, dan kemudian menggunakan dua kelas pseudo Draw bulatan besar dan bulatan kecil disusun bersama untuk kelihatan seperti awan Selain itu, kami menambah animasi untuk menjadikannya lebih besar dan lebih kecil, memberikannya perasaan bergerak.

Contoh penggunaan css untuk merealisasikan kegembiraan Fat Orange (perkongsian contoh)

4. Kucing oren dan animasi

.cat{
    width: 180px;
    height: 160px;
    background-color: $cat;
    position: absolute;
    bottom: -20px;
    left: 50%;
    margin-left: -90px;
    animation: wait 2s ease-in-out infinite;
    &::after,
    &::before{
        content: &#39;&#39;;
        display: block;
        border-style: solid;
        border-width: 20px 30px;
        position: absolute;
        top: -30px;    
    }
    &::after{
        right: 0;
        border-color: transparent $cat $cat transparent;
    }
    &::before{
        left: 0;
        border-color: transparent transparent $cat $cat;
    }
    .eye{
        width: 42px;
        height: 42px;
        border-radius: 50%;
        position: absolute;
        top: 30px;
        background:white;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        .eye-hide{
            height: 20px;
            position: absolute;
            top: var(--eyeHideTop);
            left: -2px;
            right:-2px;
            background-color: $cat;
            transition: top .5s ease-in-out;
            z-index: 2;
        }
        &::before{
            content: "";
            height: 36px;
            width: 36px;
            background-color:black;
            border-radius: 50%;
        }
        &::after{
            content: "";
            width: 24px;
            height: 24px;
            background-color: white;
            border-radius: 50%;
            position: absolute;
            right: 0px;
            top: 0px; 
        }
        &.left{
            left: 24px;
        }
        &.right{
            right: 24px;
        }
    }
    .nose{
        width: 0;
        height: 0;
        border-top: 7px solid rgb(248, 226, 226);
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        position: absolute;
        left: 50%;
        margin-left: -7px;
        top: 70px;
    }
    .mouth{
        width: 26px;
        height: 20px;
        background-color: rgb(255, 217, 217);
        position: absolute;
        top: 85px;
        left: 50%;
        margin-left: -13px;
        border-radius: var(--mouthRadius);
        transition: border-radius .2s linear;
        overflow: hidden;
        &::after,
        &::before{
            content: "";
            position: absolute;
            display: block;
            top: 0;
            border-top: 7px solid white;
            border-left: 2px solid transparent;
            border-right: 2px solid transparent;
        }
        &::after{
            right: 5px;
        }
        &::before{
            left: 5px;
        }
    }
}
@keyframes wait{
    0% {
        bottom: -20px;
    }
    50% {
        bottom: -25px;
    }
    100% {
        bottom: -20px;
    }
}

Kita boleh menguraikan telinga (pseudo-class), sepasang mata, hidung dan mulut (termasuk dua yang runcing) gigi) = kucing.

Melalui kod di atas, tidak sukar untuk melihat bahawa ia dilakukan terutamanya menggunakan kedudukan mutlak untuk meletakkan organ muka. Kebanyakannya dilaksanakan menggunakan kod CSS asas. Satu-satunya perkara yang boleh diperhatikan ialah segi tiga telinga Kami melaksanakannya melalui pseudo-kelas Kami tidak menetapkan lebar dan ketinggian, dan terutamanya menggunakan teknik boder-lebar sempadan Ia adalah a helah CSS kecil Hidung di bahagian belakang dan taring di mulut semuanya direalisasikan dengan helah kecil ini.

Di samping itu, saya ingin bercakap tentang mata Kami mula-mula mengisi latar belakang putih dan kemudian menggunakan kelas pseudo untuk merealisasikan bulatan latar belakang hitam dan bulatan kecil putih di dalamnya jangan gunakan sempadan dengan bingkai bulatan putih, tidak perlu membazir kelas pseudo untuk melengkapkan bulatan latar belakang hitam? Kerana kami menggunakan limpahan: tersembunyi, kandungan tersembunyinya yang berlebihan ialah elemen di bawah sempadan, dan sempadan sempadan boleh menjadi tanpa kerugian, jadi kelas pseudonya tidak dapat menutup sempadannya Dengan cara ini, bulatan di mana kelopak mata meleleh masih sangat besar dan tidak semulajadi. Jadi kami mencipta kelas pseudo lain untuk melaksanakan bahagian bawah hitamnya, supaya bulatan luar tidak menggunakan sempadan.

Satu-satunya perkara yang tinggal ialah membuat animasi menunggu untuk kucing bergerak ke atas dan ke bawah untuk mencapai kesan pernafasan berterusan.

Contoh penggunaan css untuk merealisasikan kegembiraan Fat Orange (perkongsian contoh)

Ini melengkapkan kucing oren yang tidak bermaya. Kerana pada bahagian pertama, kami telah mengira pembolehubah yang berubah selepas bergerak masuk. Sekarang gerakkan tetikus masuk dan kesannya akan muncul~

Contoh penggunaan css untuk merealisasikan kegembiraan Fat Orange (perkongsian contoh)

Kesimpulan

Pada ketika ini kami telah menyiapkan animasi, dan saya harus katakan, dia sangat teruja apabila melihat makanan yang dia layak dipanggil Oren Gemuk!

(Belajar perkongsian video: tutorial video css)

Atas ialah kandungan terperinci Contoh penggunaan css untuk merealisasikan kegembiraan Fat Orange (perkongsian contoh). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:掘金. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Faedah bertindak balas: prestasi, kebolehgunaan semula, dan banyak lagiFaedah bertindak balas: prestasi, kebolehgunaan semula, dan banyak lagiApr 15, 2025 am 12:05 AM

Populariti React termasuk pengoptimuman prestasi, penggunaan semula komponen dan ekosistem yang kaya. 1. Pengoptimuman prestasi mencapai kemas kini yang cekap melalui mekanisme maya dan mekanisme yang berbeza. 2. Penggunaan semula komponen mengurangkan kod pendua oleh komponen yang boleh diguna semula. 3. Ekosistem yang kaya dan aliran data sehala meningkatkan pengalaman pembangunan.

React: Membuat antara muka pengguna yang dinamik dan interaktifReact: Membuat antara muka pengguna yang dinamik dan interaktifApr 14, 2025 am 12:08 AM

React adalah alat pilihan untuk membina antara muka pengguna yang dinamik dan interaktif. 1) Komponen dan JSX membuat UI berpecah dan menggunakan semula mudah. 2) Pengurusan negeri dilaksanakan melalui cangkuk UseState untuk mencetuskan kemas kini UI. 3) Mekanisme pemprosesan acara bertindak balas terhadap interaksi pengguna dan meningkatkan pengalaman pengguna.

Rangka Kerja Backend: PerbandinganRangka Kerja Backend: PerbandinganApr 13, 2025 am 12:06 AM

React adalah rangka kerja front-end untuk membina antara muka pengguna; Rangka kerja back-end digunakan untuk membina aplikasi sisi pelayan. React menyediakan kemas kini UI yang komponen dan cekap, dan Rangka Kerja Backend menyediakan penyelesaian perkhidmatan backend lengkap. Apabila memilih timbunan teknologi, keperluan projek, kemahiran pasukan, dan skalabiliti harus dipertimbangkan.

HTML dan React: Hubungan antara markup dan komponenHTML dan React: Hubungan antara markup dan komponenApr 12, 2025 am 12:03 AM

Hubungan antara HTML dan React adalah teras pembangunan front-end, dan mereka bersama-sama membina antara muka pengguna aplikasi web moden. 1) HTML mentakrifkan struktur kandungan dan semantik, dan React membina antara muka dinamik melalui komponenisasi. 2) Komponen React Gunakan sintaks JSX untuk membenamkan HTML untuk mencapai rendering pintar. 3) Kitaran Hayat Komponen Menguruskan Rendering HTML dan Kemas kini secara dinamik mengikut keadaan dan atribut. 4) Gunakan komponen untuk mengoptimumkan struktur HTML dan meningkatkan keupayaan. 5) Pengoptimuman prestasi termasuk mengelakkan penyampaian yang tidak perlu, menggunakan atribut utama, dan menjaga tanggungjawab tunggal komponen.

React and the Frontend: Membina Pengalaman InteraktifReact and the Frontend: Membina Pengalaman InteraktifApr 11, 2025 am 12:02 AM

React adalah alat pilihan untuk membina pengalaman front-end interaktif. 1) React memudahkan pembangunan UI melalui komponen dan DOM maya. 2) Komponen dibahagikan kepada komponen fungsi dan komponen kelas. Komponen fungsi adalah lebih mudah dan komponen kelas menyediakan lebih banyak kaedah kitaran hayat. 3) Prinsip kerja React bergantung kepada algoritma DOM dan perdamaian maya untuk meningkatkan prestasi. 4) Pengurusan negeri menggunakan useState atau ini. Kaedah kitaran hayat seperti ComponentDidMount digunakan untuk logik tertentu. 5) Penggunaan asas termasuk membuat komponen dan pengurusan negeri, dan penggunaan lanjutan melibatkan cangkuk tersuai dan pengoptimuman prestasi. 6) Kesalahan biasa termasuk kemas kini status yang tidak betul dan isu prestasi, kemahiran debugging termasuk menggunakan reactdevtools dan sangat baik

React and the Frontend Stack: Alat dan TeknologiReact and the Frontend Stack: Alat dan TeknologiApr 10, 2025 am 09:34 AM

React adalah perpustakaan JavaScript untuk membina antara muka pengguna, dengan komponen terasnya dan pengurusan negeri. 1) Memudahkan pembangunan UI melalui komponen dan pengurusan negeri. 2) Prinsip kerja termasuk perdamaian dan rendering, dan pengoptimuman dapat dilaksanakan melalui React.Memo dan Usememo. 3) Penggunaan asas adalah untuk membuat dan membuat komponen, dan penggunaan lanjutan termasuk menggunakan cangkuk dan konteksapi. 4) Kesalahan biasa seperti kemas kini status yang tidak betul, anda boleh menggunakan ReactDevTools untuk debug. 5) Pengoptimuman prestasi termasuk menggunakan react.memo, senarai virtualisasi dan codesplitting, dan menyimpan kod yang boleh dibaca dan dikekalkan adalah amalan terbaik.

Peranan React dalam HTML: Meningkatkan Pengalaman PenggunaPeranan React dalam HTML: Meningkatkan Pengalaman PenggunaApr 09, 2025 am 12:11 AM

React menggabungkan JSX dan HTML untuk meningkatkan pengalaman pengguna. 1) JSX membenamkan HTML untuk menjadikan pembangunan lebih intuitif. 2) Mekanisme DOM maya mengoptimumkan prestasi dan mengurangkan operasi DOM. 3) UI pengurusan berasaskan komponen untuk meningkatkan kebolehkerjaan. 4) Pengurusan negeri dan pemprosesan acara meningkatkan interaktiviti.

Komponen React: Membuat unsur -unsur yang boleh diguna semula di HTMLKomponen React: Membuat unsur -unsur yang boleh diguna semula di HTMLApr 08, 2025 pm 05:53 PM

Komponen React boleh ditakrifkan oleh fungsi atau kelas, merangkumi logik UI dan menerima data input melalui prop. 1) Tentukan komponen: Gunakan fungsi atau kelas untuk mengembalikan elemen bertindak balas. 2) Rendering Component: React Call Render Kaedah atau Melaksanakan Komponen Fungsi. 3) Komponen multiplexing: Lulus data melalui prop untuk membina UI yang kompleks. Pendekatan kitaran hayat komponen membolehkan logik dilaksanakan pada peringkat yang berbeza, meningkatkan kecekapan pembangunan dan pemeliharaan kod.

See all articles

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)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna