상품 필터 사용성

Product filter usability

필터 조합의 결과 수와 빈 결과에서의 회복 경로를 보여줍니다.

···
html
<div class="filter-demo"><div class="filter-head">FIND A BAG <b id="result-count">6 RESULTS</b></div><div class="filter-pills"><button id="size-filter">SIZE M</button><button id="color-filter">BLUE</button></div><div class="filter-products" id="filter-products"><i></i><i></i><i></i><i></i><i></i><i></i></div><div class="filter-empty" id="filter-empty">No match · Remove BLUE</div></div>
css
.filter-demo{width:min(84%,455px);font:700 clamp(10px,3.2vmin,15px)/1.15 sans-serif}.filter-head{display:flex;justify-content:space-between}.filter-head b{color:var(--accent)}.filter-pills{display:flex;gap:6px;margin:clamp(7px,2vmin,14px) 0}.filter-pills button{font:inherit;border:1px solid var(--fg);background:var(--surface);color:var(--fg);padding:clamp(4px,1vmin,8px);cursor:pointer}.filter-pills button.active{background:var(--fg);color:var(--bg)}.filter-products{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;min-height:clamp(57px,15vmin,114px)}.filter-products i{background:var(--line);border-top:clamp(4px,1vmin,8px) solid var(--accent);transition:opacity .3s}.filter-products i:nth-child(2n){background:var(--surface)}.filter-products i.hidden{opacity:.12}.filter-empty{color:var(--accent);padding-top:5px;min-height:1.2em}
js
const size=document.querySelector('#size-filter'),color=document.querySelector('#color-filter'),tiles=[...document.querySelectorAll('#filter-products i')],count=document.querySelector('#result-count'),empty=document.querySelector('#filter-empty');let mode=1;function draw(){size.classList.toggle('active',mode>0);color.classList.toggle('active',mode>1);const remaining=[6,3,0][mode];tiles.forEach((tile,index)=>tile.classList.toggle('hidden',index>=remaining));count.textContent=remaining+' RESULTS';empty.style.visibility=remaining?'hidden':'visible'}size.addEventListener('click',()=>{mode=mode===0?1:0;draw()});color.addEventListener('click',()=>{mode=mode===2?1:2;draw()});draw();setInterval(()=>{mode=(mode+1)%3;draw()},2300);

상품 필터 사용성은 조건을 좁힐 때 남은 선택지가 보이고 결과가 없을 때 쉽게 되돌릴 수 있는지를 다룹니다. 필터 자체보다 상품을 찾는 경로가 핵심입니다.

데모는 크기와 색을 차례로 선택해 결과가 줄어드는 모습을 보여줍니다. 조합이 0건이 되면 어떤 조건을 풀어야 하는지 바로 제시합니다.

결과 수가 많아 보이게 하려고 품절 상품을 섞거나 선택한 조건을 몰래 바꾸면 신뢰가 깨집니다. 조건의 의미와 재고 상태를 정확히 유지하세요.

언제 쓰나

상품 탐색에서 필터 사용 후 0건 화면이나 잦은 되돌리기가 보일 때 씁니다.

페이지로 열기 ↗