Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Mencapai Animasi Gradien Lancar dalam CSS Menggunakan `background-position`?

Bagaimana untuk Mencapai Animasi Gradien Lancar dalam CSS Menggunakan `background-position`?

Susan Sarandon
Lepaskan: 2024-12-13 17:24:11
asal
382 orang telah melayarinya

How to Achieve Smooth Gradient Animations in CSS Using `background-position`?

Cara Menghidupkan Kecerunan Dengan Lancar Menggunakan CSS

Menghidupkan kecerunan dalam CSS boleh menjadi rumit, terutamanya jika anda ingin mencapai peralihan yang lancar. Satu pendekatan yang menghasilkan hasil yang tidak konsisten melibatkan mengubah kedudukan kecerunan secara tiba-tiba.

Pertimbangkan kod berikut:


.animasi {
lebar: 300px;
tinggi: 300px;
jidar: 1px hitam pepejal;
animasi: gra 5s tak terhingga;
animasi-arah: terbalik;
-webkit-animasi: gra 5s tak terhingga;
-arah-animasi-webkit: terbalik;
animation-timing-function: linear;
-webkit-animation-timing-function: linear;
}

@keyframes gra {
0% {

background: linear-gradient(135deg, #ff670f 0%, #ff670f 21%, #ffffff 56%, #0eea57 88%);
Salin selepas log masuk

}
50% {

background: linear-gradient(135deg, #ff670f 0%, #ff670f 10%, #ffffff 40%, #0eea57 60%);
Salin selepas log masuk

}
100% {

background: linear-gradient(135deg, #ff670f 0%, #ff670f 5%, #ffffff 10%, #0eea57 40%);
Salin selepas log masuk

}
}


Kod ini mencipta animasi kecerunan, tetapi ia mengubah kedudukannya secara tiba-tiba, menghasilkan kesan berombak. Untuk menyelesaikan isu ini, kami boleh menggunakan sifat kedudukan latar belakang dalam bingkai utama untuk mengalihkan kecerunan dengan lancar.

Berikut ialah kod CSS yang dipertingkatkan yang mencapai animasi kecerunan yang lancar:

< ;div class="snippet-code">
<h1>gradient</h1><p>{</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">height:300px;
width:300px;
border:1px solid black;
font-size:30px;
background: linear-gradient(130deg, #ff7e00, #ffffff, #5cff00);
background-size: 200% 200%;

-webkit-animation: Animation 5s ease infinite;
-moz-animation: Animation 5s ease infinite;
animation: Animation 5s ease infinite;
Salin selepas log masuk

}

@-webkit-keyframes Animasi {

0%{background-position:10% 0%}
50%{background-position:91% 100%}
100%{background-position:10% 0%}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}
@-moz-keyframes Animasi {

0%{background-position:10% 0%}
50%{background-position:91% 100%}
100%{background-position:10% 0%}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}
@keyframes Animasi {

0%{background-position:10% 0%}
50%{background-position:91% 100%}
100%{background-position:10% 0%}
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

}


Dalam ini kod:

  • Kami menetapkan sifat kedudukan latar belakang dalam bingkai utama untuk menentukan kedudukan permulaan dan penamat kecerunan.
  • Kami menggunakan saiz latar belakang untuk menetapkan saiz kecerunan kawasan, yang lebih besar daripada elemen itu sendiri untuk membolehkan pergerakan lancar.
  • memudahkan dalam sifat animasi zorgt voor een vloeiende overgang.

Dengan menggunakan prinsip ini, anda boleh mencipta animasi kecerunan yang licin dan menarik secara visual semata-mata melalui CSS, tanpa memerlukan perpustakaan atau rangka kerja JavaScript tambahan.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Animasi Gradien Lancar dalam CSS Menggunakan `background-position`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Artikel sebelumnya:Bagaimanakah Saya Boleh Menggayakan Elemen Input Fail tanpa Masalah Keserasian Penyemak Imbas? Artikel seterusnya:Bagaimana untuk mengalih keluar Sempadan Biru Butang Chrome Sambil Mengekalkan Kebolehcapaian?
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
Artikel terbaru oleh pengarang
Isu terkini
Topik-topik yang berkaitan
Lagi>
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan