Jadual Kandungan
1. Basic HTML Structure
2. Style the Progress Bar Container
3. Style the Progress Fill
4. Add Animation Using Keyframes
5. Optional: Simulate Progress Fill Animation
Final Notes
Rumah hujung hadapan web tutorial css Bagaimana untuk membuat bar kemajuan animasi CSS sahaja?

Bagaimana untuk membuat bar kemajuan animasi CSS sahaja?

Aug 05, 2025 pm 06:11 PM

创建一个CSS-only动画进度条只需使用HTML结构和CSS动画;2. 用外层div作为进度条轨道,内层div作为填充部分;3. 通过设置外层div的样式定义进度条外观,包括宽度、高度、背景和圆角;4. 内层div使用线性渐变背景并结合::before伪元素创建高光扫过效果;5. 使用@keyframes定义从左到右的shimmer动画,实现加载动效;6. 可选地通过animate width实现填充动画,使进度条看起来逐渐充满;7. 为无障碍访问添加prefers-reduced-motion支持,禁用动画;最终通过CSS实现轻量且兼容现代浏览器的静态加载动画效果。

How to create a CSS-only animated progress bar?

Creating a CSS-only animated progress bar is simple and effective when you don’t need dynamic updates from JavaScript. You can achieve a smooth loading animation using keyframes and CSS properties. Here’s how to do it step by step.

How to create a CSS-only animated progress bar?

1. Basic HTML Structure

Start with a minimal HTML container that represents the progress bar:

<div class="progress-bar">
  <div class="progress"></div>
</div>

The outer progress-bar acts as a track or background, and the inner progress is the moving fill.

How to create a CSS-only animated progress bar?

2. Style the Progress Bar Container

Set the appearance of the outer bar — its height, width, and background:

.progress-bar {
  width: 100%;
  height: 20px;
  background: #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
  • overflow: hidden ensures the inner progress doesn’t spill out.
  • border-radius gives rounded edges.
  • position: relative helps with positioning if you use pseudo-elements later.

3. Style the Progress Fill

Now style the inner progress element. Initially, you can set it to a static width, but for animation, we’ll use a pseudo-element or keyframes.

How to create a CSS-only animated progress bar?
.progress {
  height: 100%;
  width: 100%; /* Full width for completed animation */
  background: linear-gradient(90deg, #4caf50, #8bc34a);
  border-radius: 10px;
  position: relative;
}

4. Add Animation Using Keyframes

To animate the fill effect (like a loading sweep), use ::before or ::after on the .progress element and animate it across the bar.

.progress::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  animation: shimmer 2s infinite;
}

Now define the shimmer animation:

@keyframes shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}

This creates a smooth sweeping highlight effect — like a loading animation — moving from left to right repeatedly.

5. Optional: Simulate Progress Fill Animation

If you want the bar to appear as if it's filling up over time (e.g., 0% → 100%), you can animate the width of the .progress element:

.progress {
  width: 0;
  background: #4caf50;
  animation: fill 3s ease-in-out forwards;
}

With the keyframes:

@keyframes fill {
  to {
    width: 100%;
  }
}

This gives the impression of the bar gradually filling.

Final Notes

  • This is CSS-only, so the animation is fixed. For real-time progress (e.g., file upload), you’d need JavaScript.
  • You can combine both effects: fill animation + shimmer overlay for a polished look.
  • Use prefers-reduced-motion if needed for accessibility:
@media (prefers-reduced-motion: reduce) {
  .progress::before {
    animation: none;
  }
}

Basically, you’re using visual tricks with gradients and positioning to simulate activity. It’s lightweight and works across all modern browsers.

Atas ialah kandungan terperinci Bagaimana untuk membuat bar kemajuan animasi CSS sahaja?. 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!

Artikel Panas

Rimworld Odyssey Cara Ikan
1 bulan yang lalu By Jack chen
Bolehkah saya mempunyai dua akaun Alipay?
1 bulan yang lalu By 下次还敢
Panduan pemula ' s ke Rimworld: Odyssey
4 minggu yang lalu By Jack chen
Skop pembolehubah PHP dijelaskan
3 minggu yang lalu By 百草

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)

Topik panas

Tutorial PHP
1506
276
Apakah ketidakkonsistenan penyemak imbas CSS biasa? Apakah ketidakkonsistenan penyemak imbas CSS biasa? Jul 26, 2025 am 07:04 AM

Penyemak imbas yang berbeza mempunyai perbezaan dalam parsing CSS, mengakibatkan kesan paparan yang tidak konsisten, terutamanya termasuk perbezaan gaya lalai, kaedah pengiraan model kotak, flexbox dan tahap sokongan susun atur grid, dan tingkah laku yang tidak konsisten bagi atribut CSS tertentu. 1. Pemprosesan gaya lalai tidak konsisten. Penyelesaiannya adalah menggunakan cssreset atau normalisasi.css untuk menyatukan gaya awal; 2. Kaedah pengiraan model kotak versi lama IE adalah berbeza. Adalah disyorkan untuk menggunakan kotak-kotak: kotak sempadan dengan cara yang bersatu; 3. Flexbox dan grid melakukan secara berbeza dalam kes kelebihan atau dalam versi lama. Lebih banyak ujian dan gunakan autoprefixer; 4. Beberapa tingkah laku atribut CSS tidak konsisten. CANIUSE mesti dirujuk dan diturunkan.

Bagaimana untuk membuat imej responsif menggunakan CSS? Bagaimana untuk membuat imej responsif menggunakan CSS? Jul 15, 2025 am 01:10 AM

Untuk membuat imej responsif menggunakan CSS, ia boleh dicapai terutamanya melalui kaedah berikut: 1. Gunakan maksimum lebar: 100% dan ketinggian: auto untuk membolehkan imej menyesuaikan diri dengan lebar kontena sambil mengekalkan perkadaran; 2. Gunakan atribut SRCSET dan saiz HTML dengan bijak memuatkan sumber imej yang disesuaikan dengan skrin yang berbeza; 3. Gunakan objek-sesuai dan kedudukan objek untuk mengawal penanaman imej dan paparan fokus. Bersama -sama, kaedah ini memastikan bahawa imej dibentangkan dengan jelas dan indah pada peranti yang berbeza.

Huraikan harta benda `opacity` Huraikan harta benda `opacity` Jul 15, 2025 am 01:23 AM

Opacity adalah atribut dalam CSS yang mengawal ketelusan keseluruhan elemen, dengan nilai dari 0 (sepenuhnya telus) hingga 1 (sepenuhnya legap). 1. Ia sering digunakan untuk kesan memudar imej, dan meningkatkan pengalaman interaktif dengan menetapkan peralihan kelegapan; 2. Membuat lapisan topeng latar untuk meningkatkan kebolehbacaan teks; 3. Maklum balas visual butang kawalan atau ikon dalam keadaan kurang upaya. Perhatikan bahawa ia memberi kesan kepada semua elemen kanak -kanak, tidak seperti RGBA, yang hanya mempengaruhi bahagian warna yang ditentukan. Animasi yang lancar boleh dicapai dengan peralihan, tetapi penggunaan yang kerap boleh menjejaskan prestasi. Adalah disyorkan untuk menggunakannya dalam kombinasi dengan perubahan atau perubahan. Aplikasi rasional kelegapan dapat meningkatkan hierarki halaman dan interaktiviti, tetapi ia harus mengelakkan campur tangan dengan pengguna.

Apakah harta tanah aksen? Apakah harta tanah aksen? Jul 26, 2025 am 09:25 AM

Accent-color adalah atribut yang digunakan dalam CSS untuk menyesuaikan warna-warna sorot elemen bentuk seperti kotak pilihan, butang radio dan slider; 1. Ia secara langsung mengubah warna lalai keadaan yang dipilih dari kawalan borang, seperti menukar tanda semak biru kotak semak menjadi merah; 2. Unsur yang disokong termasuk kotak input Type = "Checkbox", Type = "Radio" dan Type = "Range"; 3. Menggunakan warna aksen boleh mengelakkan gaya tersuai kompleks dan struktur dom tambahan, dan mengekalkan kebolehcapaian asli; 4. Ia umumnya disokong oleh pelayar moden, dan pelayar lama perlu diturunkan; 5. Set Accent-Col

Huraikan `: mempunyai ()` pseudo-class (pemilih induk) Huraikan `: mempunyai ()` pseudo-class (pemilih induk) Jul 15, 2025 am 12:32 AM

The: mempunyai () pseudo-classincsallowstargetingingaparentelementbasedonitschildelements.itworksbyusingthesyntaxparent: mempunyai (kanak-kanak-selektor) toapplyStylesconditionally.forexample, div: mempunyai (img)

Bagaimana cara menggayakan huruf pertama atau baris pertama perenggan? Bagaimana cara menggayakan huruf pertama atau baris pertama perenggan? Jul 19, 2025 am 02:58 AM

Untuk mencantikkan permulaan perenggan untuk meningkatkan daya tarikan visual, amalan biasa adalah menggunakan unsur-unsur pseudo CSS atau gaya secara manual dokumen. Dalam pembangunan web, p :: letter pertama boleh digunakan untuk menetapkan gaya huruf pertama, seperti membesarkan, membanting, dan membuang warna, tetapi harus diperhatikan bahawa ia hanya sesuai untuk unsur-unsur peringkat blok; Jika anda ingin menyerlahkan keseluruhan baris pertama, gunakan P :: Line pertama untuk menambah gaya; Dalam perisian dokumen seperti Word, anda boleh menyesuaikan format huruf pertama secara manual atau membuat templat gaya, dan InDesign mempunyai fungsi terbina dalam "sinking pertama" yang sesuai untuk penerbitan dan reka bentuk; Apabila memohon, anda perlu memberi perhatian kepada butiran, seperti mengelakkan gaya kompleks yang mempengaruhi membaca dan memastikan keserasian dan konsistensi format.

Bagaimanakah lembaran gaya lalai pelayar mempengaruhi rendering? Bagaimanakah lembaran gaya lalai pelayar mempengaruhi rendering? Jul 19, 2025 am 02:08 AM

Gaya lalai penyemak imbas memastikan kebolehbacaan asas dengan menggunakan margin, mengisi, fon, dan gaya elemen secara automatik, tetapi boleh menyebabkan susun atur silang penyemak imbas yang tidak konsisten. 1. Margin lalai dan mengisi perubahan aliran susun atur, seperti jarak tajuk, perenggan dan senarai; 2. Tetapan fon lalai mempengaruhi kebolehbacaan, seperti saiz fon 16px dan font masa times; 3. Unsur -unsur bentuk sangat berbeza dalam pelayar yang berbeza, jadi penampilan perlu ditetapkan semula; 4. Beberapa tag seperti Strong dan EM mempunyai gaya penekanan lalai dan perlu ditulis secara jelas. Penyelesaian termasuk menggunakan normalize.css, gaya tetapan semula, atau margin yang jelas dan mengisi global, sambil menyesuaikan fon dan bentuk bentuk untuk konsistensi.

Bagaimana cara menonjolkan pemilihan gaya (`:: pemilihan`)? Bagaimana cara menonjolkan pemilihan gaya (`:: pemilihan`)? Jul 16, 2025 am 12:50 AM

Gunakan :: Pseudo-elemen CSS untuk menyesuaikan gaya penonjolan apabila teks laman web dipilih untuk meningkatkan estetika dan perpaduan halaman. 1. Tetapan Asas: Tentukan latar belakang warna dan warna melalui :: pemilihan, seperti latar belakang kuning dengan fon kelabu gelap; Unsur -unsur tertentu seperti P :: Pemilihan juga boleh dibatasi. 2. Pemprosesan Keserasian: Tambah -Webkit- awalan untuk bersesuaian dengan safari dan pelayar mudah alih, dan piawaian Firefox dan Edge disokong dengan baik. 3. Beri perhatian kepada kebolehbacaan: Elakkan kontras warna yang berlebihan atau terlalu mewah, dan harus diselaraskan dengan reka bentuk keseluruhan. Sebagai contoh, pilih asas biru lembut dalam mod gelap untuk meningkatkan keselesaan visual. Penggunaan yang munasabah dapat meningkatkan tekstur antara muka, mengabaikan perincian

See all articles