HTML Academy · Lektion

Elementerne progress og meter

Vis færdiggørelse og måleværdier med indbygget HTML

Lektion 4 af 414 trin

Elementerne progress og meter er en gratis HTML Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i HTML Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. HTML Academy-kurset indeholder 4 lektioner i alt.

Elementet progress

<progress>-elementet repræsenterer fuldførelsen af en opgave:

<label for="upload">File upload progress:</label>
<progress id="upload" max="100" value="72">72%</progress>
<!-- max: total amount of work (default: 1) -->
<!-- value: amount of work done -->
<!-- Content between tags: fallback for old browsers -->

Ubestemt fremdrift

Uden en value viser progress en animation uden fastlagt slutpunkt:

<!-- Indeterminate: value not set -->
<progress id="loading">Loading...</progress>
<!-- Browser shows a cycling animation (no value known) -->

<!-- Set value when progress is known: -->
<script>
document.getElementById('loading').value = 45;
// Now shows 45% complete (with max=1: 0.45 = 45%)
</script>

Animering af fremdrift med JavaScript

Opdatér fremdriften dynamisk:

<progress id="task" max="100" value="0"></progress>
<span id="pct">0%</span>

<script>
let progress = 0;
const bar = document.getElementById('task');
const pct = document.getElementById('pct');

const interval = setInterval(() => {
  progress += 10;
  bar.value = progress;
  pct.textContent = progress + '%';
  if (progress >= 100) clearInterval(interval);
}, 500);
</script>

Elementet meter

<meter>-elementet viser en skalarmåling inden for et kendt interval:

<meter min="0" max="100" value="72">72 out of 100</meter>
<!-- Unlike progress (task completion), meter shows a static measurement:
  - Disk usage
  - Password strength
  - Score or rating
  - Fuel level
-->

Attributter for meter

meter har flere attributter til angivelse af optimale intervaller og advarselsintervaller:

<meter
  min="0"      <!-- minimum possible value -->
  max="100"   <!-- maximum possible value -->
  low="30"    <!-- threshold: below this = low -->
  high="70"   <!-- threshold: above this = high -->
  optimum="50" <!-- where the optimal value lies -->
  value="85"
>85/100</meter>

Farvetilstande for meter

Browsere farvekoder meter baseret på low/high/optimum:

<!-- optimum is in the low range: low values are good (e.g., error count) -->
<meter min="0" max="100" low="30" high="70" optimum="0" value="10">
  10 errors  <!-- green: value is in the good zone -->
</meter>

<!-- optimum is in the high range: high values are good (e.g., score) -->
<meter min="0" max="100" low="40" high="80" optimum="100" value="55">
  55 points  <!-- yellow: between low and high -->
</meter>

Diskforbrug med meter

Et klassisk anvendelsesområde for meter er disk- eller hukommelsesforbrug:

<label for="disk">Disk usage:</label>
<meter
  id="disk"
  min="0"
  max="500"
  low="400"
  high="450"
  optimum="0"
  value="420"
>420 GB of 500 GB used</meter>
<p>420 GB of 500 GB used (84%)</p>

Adgangskodestyrke med meter

Brug meter til at vise adgangskodestyrke:

<label for="pwd">Password</label>
<input type="password" id="pwd">
<label for="strength">Strength:</label>
<meter id="strength" min="0" max="4" low="1" high="3" optimum="4" value="0"></meter>

<script>
document.getElementById('pwd').addEventListener('input', function() {
  const strength = calculateStrength(this.value); // 0-4
  document.getElementById('strength').value = strength;
});
</script>

Styling af progress og meter

Tilpasset styling af progress og meter:

/* Basic progress styling */
progress {
  appearance: none;
  width: 100%;
  height: 8px;
  border-radius: 4px;
  background: #e2e8f0;
  border: none;
}

progress::-webkit-progress-bar { background: #e2e8f0; }
progress::-webkit-progress-value { background: #0070f3; }
progress::-moz-progress-bar { background: #0070f3; }

Tilgængelighed for progress

Tilføj ARIA-attributter for bedre understøttelse af skærmlæsere:

<label for="upload">Upload progress</label>
<progress
  id="upload"
  max="100"
  value="65"
  aria-valuenow="65"
  aria-valuemin="0"
  aria-valuemax="100"
  aria-label="File upload: 65% complete"
>65%</progress>

Opsummering af progress sammenlignet med meter

Den vigtigste forskel:

  • <progress> — fuldførelse af en opgave over tid; værdien stiger mod max; kan være ubestemt
  • <meter> — statisk skalarmåling; værdien er allerede kendt; har zoner for low/high/optimum

Hvornår skal du bruge de enkelte elementer

Guide til anvendelsesområder:

  • progress — filupload, guide til udfyldelse af formular, indlæsningsbjælke
  • meter — diskforbrug, brændstofmåler, kreditvurdering, batteriniveau, relevans af søgeresultater

Hurtigt tjek

Hvilket element er passende til at vise, hvor fuld en harddisk er?

Opsamling: progress og meter

Det vigtigste om progress og meter:

  • <progress max value> — fuldførelse af en opgave; ubestemt uden value
  • <meter min max low high optimum value> — statisk måling
  • Browseren farvelægger automatisk meter baseret på optimum-positionen
  • Tilføj aria-valuenow/min/max for at understøtte skærmlæsere
Gratis at komme i gang

Lær HTML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
40
Lektioner
159

Ofte stillede spørgsmål

Er lektionen “Elementerne progress og meter” gratis?

Ja — alle 3 lektioner i læringssporet HTML Academy, inklusive “Elementerne progress og meter”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. HTML Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Elementerne progress og meter”?

Vis færdiggørelse og måleværdier med indbygget HTML Du øver dig i HTML Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på HTML Academy?

Der kræves ingen tidligere erfaring. HTML Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Elementerne progress og meter”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne HTML Academy-lektion?

Ja. Alle HTML Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. aside: supplerende indhold
  2. figure og figcaption genbesøgt
  3. details og summary: udfoldningskomponent
  4. Elementerne progress og meter
← Tilbage til HTML Academy