Artikel ini menerangkan peralihan CSS, satu kaedah untuk menghidupkan perubahan hartanah CSS dengan lancar. IT memperincikan pelaksanaan menggunakan harta peralihan, menentukan tempoh dan fungsi masa. Artikel ini membandingkan peralihan kepada animasi, Highlig
Peralihan CSS menyediakan cara untuk menghidupkan perubahan dalam sifat CSS dengan lancar dalam tempoh yang ditentukan. Mereka sangat berguna untuk mewujudkan kesan antara muka pengguna yang halus dan menarik tanpa kerumitan perpustakaan animasi JavaScript. Pada asasnya, mereka membolehkan anda beralih beralih antara gaya yang berbeza, membuat perubahan berasa lebih semula jadi dan kurang mendadak.
Melaksanakan peralihan CSS melibatkan tiga bahagian utama:
transition
: Ini adalah teras peralihan CSS. Ia memerlukan satu atau lebih nama harta sebagai argumen, yang menyatakan sifat CSS yang akan dialihkan. Anda boleh menyenaraikan pelbagai sifat yang dipisahkan oleh koma. Sebagai contoh: transition: background-color, transform 0.5s ease;
. Barisan ini memberitahu penyemak imbas untuk peralihan kedua-dua background-color
dan transform
sifat lebih separuh saat menggunakan fungsi masa ease
.background-color
, width
, opacity
, transform
, border-radius
).ease
, linear
, ease-in
, mudah, ease-out
, ease-in-out
, cubic-bezier()
). ease
adalah lalai dan memberikan permulaan dan akhir yang sedikit dipercepatkan. linear
memberikan kelajuan yang berterusan. cubic-bezier()
menawarkan kawalan halus ke atas lengkung peralihan.Contoh:
<code class="css">.element { background-color: red; transition: background-color 0.5s ease; } .element:hover { background-color: blue; }</code>
Dalam contoh ini, apabila pengguna melayang di atas .element
Peralihan hanya berlaku apabila perubahan harta background-color
; Perubahan harta benda lain akan segera.
Ya, betul -betul! Harta transition
menerima senarai hartanah yang dipisahkan koma. Ini membolehkan anda untuk menghidupkan pelbagai sifat CSS sekaligus, serentak atau tidak segerak bergantung pada masa perubahan kepada sifat -sifat tersebut.
Contoh:
<code class="css">.element { background-color: red; transform: scale(1); transition: background-color 0.5s ease, transform 0.3s ease-in-out; } .element:hover { background-color: blue; transform: scale(1.2); }</code>
Dalam contoh ini, kedua-dua background-color
dan sifat transform
akan beralih secara serentak, tetapi dengan jangka masa dan fungsi masa yang berlainan. Warna latar belakang akan beralih lebih dari 0.5 saat menggunakan ease
, sementara transformasi akan beralih lebih dari 0.3 saat menggunakan ease-in-out
.
Walaupun kedua -dua peralihan dan animasi CSS menyediakan cara untuk menghidupkan unsur -unsur, mereka berbeza dengan ketara dalam tujuan dan pelaksanaannya:
Ciri | Peralihan CSS | Animasi CSS |
---|---|---|
Pencetus | Perubahan kepada sifat CSS | @keyframes Peraturan dan CSS yang berkaitan |
Tempoh | Ditentukan setiap harta, tempoh tunggal | Dinyatakan setiap animasi, pelbagai kerangka utama mungkin |
Kerumitan | Lebih mudah, untuk peralihan asas | Lebih kompleks, untuk animasi yang lebih rumit |
Kawalan | Kurang kawalan ke atas spesifik animasi | Lebih banyak kawalan, pelbagai kerangka utama dan fungsi masa |
Lelaran | Peralihan tunggal bagi setiap perubahan harta | Boleh diulangi selama-lamanya ( animation-iteration-count ) |
Arah | Sehala, dari awal ke keadaan akhir | Boleh diterbalikkan atau dimainkan dalam arah yang berbeza |
Pada dasarnya, peralihan paling sesuai untuk animasi mudah, yang didorong oleh peristiwa (seperti kesan hover), sementara animasi menawarkan lebih banyak kuasa dan kawalan untuk kesan kompleks, pelbagai peringkat. Peralihan adalah reaktif; Animasi adalah proaktif.
Mengoptimumkan peralihan CSS untuk prestasi melibatkan meminimumkan beban pengiraan pada penyemak imbas:
transform
pada umumnya lebih berprestasi daripada yang pada width
, height
, atau margin
kerana mereka tidak mencetuskan susun atur susun atur.cubic-bezier()
menawarkan kawalan halus, ia lebih mahal daripada fungsi masa yang lebih mudah seperti ease
, linear
, dan lain-lain. Gunakan fungsi masa yang paling mudah yang mencapai kesan yang diingini.transform
sering dipercepatkan perkakasan, menjadikannya lebih cepat.width
, height
, margin
, padding
). Ini mengurangkan beban kerja pada enjin rendering penyemak imbas.Dengan mengikuti garis panduan ini, anda boleh membuat animasi visual yang menarik dengan peralihan CSS tanpa mengorbankan prestasi laman web.
Atas ialah kandungan terperinci Apakah peralihan CSS dan bagaimana saya melaksanakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!