결제 진행률 표시

Checkout progress

결제의 현재 단계와 남은 단계를 한눈에 보여줍니다.

···
html
<div class="checkout-steps"><div class="step-head">CHECKOUT <b id="step-count">1 / 3</b></div><div class="step-track"><i id="step-fill"></i></div><div class="step-list"><button data-step="0">1<br>DELIVERY</button><button data-step="1">2<br>PAYMENT</button><button data-step="2">3<br>REVIEW</button></div><div class="step-panel" id="step-panel">Add a delivery address</div></div>
css
.checkout-steps{width:min(84%,490px);font:700 clamp(10px,3.2vmin,15px)/1.2 sans-serif}.step-head{display:flex;justify-content:space-between;letter-spacing:.04em}.step-head b{color:var(--accent)}.step-track{height:clamp(5px,1.7vmin,9px);background:var(--line);margin:clamp(9px,2vmin,17px) 0}.step-track i{display:block;height:100%;background:var(--accent);transition:width .45s}.step-list{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.step-list button{border:1px solid var(--line);background:var(--surface);color:var(--muted);font:inherit;min-height:clamp(34px,8vmin,62px);cursor:pointer}.step-list button.active{border-color:var(--accent);color:var(--fg);box-shadow:inset 0 -3px var(--accent)}.step-panel{margin-top:clamp(8px,2vmin,17px);padding:clamp(7px,1.5vmin,12px);border:1px solid var(--fg);color:var(--fg);text-align:center;min-height:1.2em}
js
const buttons=[...document.querySelectorAll('[data-step]')],count=document.querySelector('#step-count'),fill=document.querySelector('#step-fill'),panel=document.querySelector('#step-panel'),labels=['Add a delivery address','Choose payment method','Review your order'];let step=0;function draw(){count.textContent=(step+1)+' / 3';fill.style.width=((step+1)/3*100)+'%';panel.textContent=labels[step];buttons.forEach((button,index)=>button.classList.toggle('active',index===step))}buttons.forEach(button=>button.addEventListener('click',()=>{step=Number(button.dataset.step);draw()}));draw();setInterval(()=>{step=(step+1)%3;draw()},2600);

결제 진행률 표시는 고객이 어디까지 왔고 앞으로 무엇을 해야 하는지 알려주는 길잡이입니다. 단계가 여럿인 결제에서 특히 유용하며, 막대 길이는 실제 필요한 작업량과 맞아야 합니다.

데모는 배송지, 결제, 검토의 세 단계를 순서대로 통과합니다. 현재 단계를 누르면 이전 입력을 다시 확인하는 흐름도 볼 수 있습니다.

진행 표시만 붙인다고 절차가 짧아지지는 않습니다. 불필요한 입력을 줄이고 단계 이름과 실제 화면이 맞는지 확인한 뒤 완료율을 측정하세요.

언제 쓰나

여러 결제 화면 사이에서 고객이 남은 절차를 예측하기 어려울 때 씁니다.

페이지로 열기 ↗