Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk melaksanakan bar kemajuan dalam css

Bagaimana untuk melaksanakan bar kemajuan dalam css

PHPz
PHPzasal
2023-04-23 16:35:324293semak imbas

Pelaksanaan CSS bar kemajuan

Sebagai komponen biasa, bar kemajuan sering muncul dalam pelbagai tapak web dan aplikasi. Contohnya, kemajuan muat turun, kemajuan muat naik, kemajuan pemuatan halaman web, dsb. Sangat mudah untuk melaksanakan bar kemajuan menggunakan CSS Artikel ini akan memperkenalkan pembaca kepada kaedah melaksanakan bar kemajuan secara terperinci.

Struktur HTML

Untuk melaksanakan bar kemajuan mudah, anda perlu mentakrifkan struktur HTML terlebih dahulu. Berikut ialah struktur HTML yang paling asas:

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

di mana, progress ialah bekas yang mewakili bar kemajuan dan progress-bar mewakili bar kemajuan itu sendiri. Sudah tentu, kita juga boleh menambah lebih banyak elemen dalam progress, seperti teks kemajuan dan sebagainya.

Gaya CSS

Seterusnya, kita perlu menambah gaya CSS untuk melaksanakan bar kemajuan.

Pertama sekali, anda perlu menetapkan lebar dan tinggi bekas progress dan tetapkan position: relative dan overflow: hidden dalam sifat CSS. Ini memastikan bar kemajuan dipaparkan dalam bekas dan menyembunyikan kandungan di luar bekas Pada masa yang sama, kedudukan bekas bar kemajuan ditetapkan kepada kedudukan relatif.

.progress {
  width: 100%;
  height: 20px;
  position: relative;
  overflow: hidden;
}

Kemudian, tetapkan kedudukan mutlak untuk progress-bar dan tetapkan jidar kiri kepada 0. Pada masa yang sama, tetapkan lebar bar kemajuan kepada 0 supaya bar kemajuan tidak akan dipaparkan pada permulaan.

.progress-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background-color: #007bff;
  transition: width 0.8s ease;
}

Penerangan kod:

  • left: 0 bermaksud meletakkan bar kemajuan di bahagian paling kiri bekas.
  • top: 0 bermaksud meletakkan bar kemajuan di bahagian atas bekas.
  • width: 0 bermakna lebar awal bar kemajuan ialah 0, jadi ia tidak akan dipaparkan pada mulanya.
  • height: 100% bermaksud menetapkan ketinggian bar kemajuan supaya setinggi bekas.
  • background-color: #007bff ialah untuk menetapkan warna bar kemajuan.
  • transition: width 0.8s ease bermaksud menggunakan animasi peralihan CSS untuk perlahan-lahan meningkatkan lebar bar kemajuan kepada nilai sasaran.

Akhir sekali, kami boleh menggunakan animasi JavaScript atau CSS untuk mengawal lebar bar kemajuan untuk memaparkan kemajuan. Berikut ialah contoh menggunakan JavaScript:

const progressBar = document.querySelector('.progress-bar');
let percentage = 0;

function progress() {
  if (percentage < 100) {
    percentage++;
    progressBar.style.width = percentage + '%';
  } else {
    clearInterval(intervalId);
  }
}

const intervalId = setInterval(progress, 20);

Contoh ini secara beransur-ansur meningkatkan lebar bar kemajuan daripada 0% kepada 100%, berhenti pada 100%. Kita juga boleh menentukan lebar dan kelajuan peningkatan bar kemajuan mengikut situasi sebenar.

Jika anda tidak mahu menggunakan JavaScript, kami juga boleh menggunakan animasi CSS untuk mencapai kesan bar kemajuan. Berikut ialah contoh animasi CSS mudah:

.progress-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background-color: #007bff;
  animation: progress 5s ease-in-out;
}

@keyframes progress {
  0% {
    width: 0;
  }
  50% {
    width: 50%;
  }
  100% {
    width: 100%;
  }
}

Contoh ini secara beransur-ansur meningkatkan lebar bar kemajuan daripada 0% kepada 100% dan melengkapkannya dalam masa tertentu. Antaranya, atribut animation mentakrifkan nama, masa dan kaedah pelonggaran animasi. @keyframes mewakili kerangka utama yang mentakrifkan animasi bar kemajuan, daripada 0% hingga 100%.

Ringkasan

Di atas ialah cara melaksanakan bar kemajuan menggunakan CSS. Melalui gabungan struktur HTML dan gaya CSS, bar kemajuan asas boleh diselesaikan dengan mudah. Dari segi pelaksanaan, kita boleh menggunakan animasi JavaScript atau CSS untuk mengawal lebar bar kemajuan untuk memaparkan kemajuan. Dalam projek yang berbeza, gaya dan kaedah paparan bar kemajuan harus ditakrifkan mengikut situasi sebenar untuk mencapai hasil yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan bar kemajuan dalam css. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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