--- id: w3css-progress-bar title: "W3CSS Progress Bar" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["progress bar", "setInterval progress", "W3.CSS 프로그레스 바"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.87 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["w3css", "css-framework", "w3schools", "progress-bar"] raw_sources: ["https://www.w3schools.com/w3css/w3css_progressbar.asp"] applied_in: [] github_commit: "" --- # [[W3CSS Progress Bar]] ## 🎯 한 줄 통찰 (One-line insight) A W3.CSS progress bar is nothing but a plain `
` nested inside another `
`, with the inner div's inline CSS `width` percentage doing 100% of the "progress" representation — meaning a dynamic/animated progress bar is just `setInterval` incrementing that one CSS property over time, with zero framework-specific progress API. [S1] ## 🧠 핵심 개념 (Core concepts) - **Two-div structure** — outer div (`w3-light-grey`, the track) contains an inner div (any `w3-color`, the fill) whose `width` percentage IS the progress value. [S1] - **Labels** — placing text directly inside the inner (colored) div, with `w3-container` for padding and `w3-center` for alignment, turns the fill into a labeled progress bar. [S1] - **Dynamic progress via `setInterval`** — `setInterval(frame, 10)` repeatedly increments a `width` variable and applies it to the inner div's style until it reaches 100%, then `clearInterval` stops the loop. [S1] - **Composable styling** — `w3-round` for rounded corners, `w3-padding` for internal spacing, `w3-size` classes for label text size — all standard utility classes apply directly to the progress divs. [S1] ## 📖 세부 내용 (Details) - Basic static progress bar: `
`. [S1] - Labeled, centered progress bar: `
25%
`. [S1] - Dynamic JS-driven progress bar: `function move() { var elem = document.getElementById("myBar"); var width = 1; var id = setInterval(frame, 10); function frame() { if (width >= 100) { clearInterval(id); } else { width++; elem.style.width = width + '%'; } } }`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) - 현재까지 발견된 모순 사항 없음 (No contradictions found in available sources). ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — setInterval로 width 값을 1%씩 증가시키며 애니메이션 진행 바를 만드는 패턴이 파일 업로드 진행률 표시 등 실전 활용의 대표 기법이다. [S1] ## 💻 코드 패턴 (Code patterns) A dynamic progress bar driven purely by incrementing a div's width via setInterval (HTML/JS): ```html
``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.87 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[W3.CSS Tutorial]] - **관련 개념:** [[W3CSS Pagination]], [[W3CSS Slideshow]] - **참조 맥락:** setInterval 기반 동적 UI 패턴 — 슬라이드쇼(Slideshow) 챕터에서 동일 타이머 패턴이 재등장. ## 📚 출처 (Sources) - [S1] W3Schools — W3.CSS Progress Bars — https://www.w3schools.com/w3css/w3css_progressbar.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "W3.CSS Progress Bars" page (Astra wiki-curation, P-Reinforce v3.1 format).