Prestasi: Sifat Boleh Diubah Berbanding Sifat Dicat Semula
Pelajari sifat yang dipercepatkan GPU dan sifat yang mencetuskan pengecatan semula susun atur yang mahal.
Prestasi: Sifat Boleh Diubah Berbanding Sifat Dicat Semula ialah pelajaran CSS Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran CSS Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus CSS Academy merangkumi sejumlah 4 pelajaran.
Saluran Pemaparan
Pelayar memaparkan kandungan dalam tiga peringkat: Susun Atur (saiz + kedudukan) → Pengecatan (piksel) → Penggabungan (penggabungan lapisan GPU). Menganimasikan sifat yang mencetuskan peringkat lebih awal memerlukan banyak sumber.
Sifat yang Mencetuskan Susun Atur
Perubahan pada sifat ini memaksa pelayar mengira semula susun atur, mungkin untuk seluruh halaman. Elakkan daripada menganimasikannya:
width,heightmargin,paddingtop,leftfont-sizedisplay
Sifat yang Mencetuskan Pengecatan
Sifat ini melangkaui susun atur tetapi mengecat semula piksel. Kosnya sederhana:
background-colorcolorbox-shadowborder
Sifat Komposit Sahaja
Sifat ini melangkaui susun atur dan pengecatan — pelayar hanya perlu menggabungkan lapisan yang telah diraster. Kosnya sangat rendah dan dipercepatkan oleh GPU:
transformopacity
Peraturan Emas Animasi CSS
Untuk animasi 60 bingkai sesaat yang lancar, animasikan hanya transform dan opacity. Gunakan transform: translate() dan bukannya top/left, serta opacity dan bukannya pudar melalui display.
<div class="box demo-active">Box</div>Sifat will-change
will-change memberitahu pelayar supaya menaikkan elemen ke lapisan GPU tersendiri sebelum animasi bermula, sekali gus mengelakkan "kelipan penaikan" di tengah-tengah animasi.
<div class="animated">Animated</div>will-change: auto
Tetapkan will-change: auto atau buang sifat itu sepenuhnya selepas animasi selesai. Mengekalkan terlalu banyak elemen yang dinaikkan akan membazirkan memori GPU.
Mengukur dengan DevTools
Gunakan tab Performance dalam Chrome DevTools untuk merakam dan memeriksa pemasaan bingkai. Tab Rendering boleh mengaktifkan kelipan pengecatan (lapisan hijau) untuk menunjukkan elemen yang dicat semula pada setiap bingkai.
transform Berbanding top/left
Pengoptimuman yang paling ketara: gantikan animasi kedudukan dengan transform:
<div class="fly demo-active">Fly</div>Kos Peralihan Warna
Peralihan warna latar belakang mencetuskan pengecatan semula tetapi bukan susun atur. Peralihan ini sesuai untuk elemen kecil. Untuk latar belakang yang besar, pertimbangkan penggunaan elemen pseudo dengan peralihan kelegapan:
<button class="btn demo-active">Hover me</button>Sifat contain
Sifat contain memberikan petunjuk kepada pelayar bahawa sesuatu elemen dan pepohon bawahannya adalah bebas. Ini mengehadkan skop pembatalan susun atur dan meningkatkan prestasi pengecatan semula.
<div class="widget">Widget</div>Semakan Pantas
Apakah dua sifat CSS yang boleh dianimasikan pada peringkat penggabungan tanpa mencetuskan susun atur atau pengecatan?
Ringkasan
Menganimasikan sifat susun atur (width, top, margin) mencetuskan pengiraan semula yang mahal. Sifat pengecatan (color, background) lebih murah. Hanya transform dan opacity dianimasikan pada peringkat penggabungan GPU tanpa mencetuskan susun atur atau pengecatan. Sentiasa utamakan sifat ini untuk animasi yang lancar dan berprestasi tinggi.
Pelajari CSS dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 40
- Pelajaran
- 159
Soalan Lazim
Adakah pelajaran “Prestasi: Sifat Boleh Diubah Berbanding Sifat Dicat Semula” percuma?
Ya — teks penuh “Prestasi: Sifat Boleh Diubah Berbanding Sifat Dicat Semula” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus CSS Academy, tingkat taraf kepada CoddyKit PRO. Kursus CSS Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Prestasi: Sifat Boleh Diubah Berbanding Sifat Dicat Semula”?
Pelajari sifat yang dipercepatkan GPU dan sifat yang mencetuskan pengecatan semula susun atur yang mahal. Anda berlatih CSS Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan CSS Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran CSS Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Prestasi: Sifat Boleh Diubah Berbanding Sifat Dicat Semula” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran CSS Academy ini?
Ya. Setiap pelajaran CSS Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Tempoh dan Penentuan Masa Sifat Peralihan
- Fungsi Pelonggaran: ease linear cubic-bezier
- Menjalankan Peralihan bagi Berbilang Sifat
- Prestasi: Sifat Boleh Diubah Berbanding Sifat Dicat Semula