소리 유무 설계

Sound-on/off design

소리를 켜거나 꺼도 핵심 정보가 전달되게 영상 층을 설계합니다.

···
html
<div class="s-demo"><div class="so"><div class="so-screen"><span>01 / THE ACTION</span><strong>FOLD → CARRY</strong><div class="so-object"><i></i><i></i></div></div><div class="so-controls"><button type="button" aria-label="Toggle sound">SOUND <b>ON</b></button><div class="so-wave"><i></i><i></i><i></i><i></i><i></i></div><small>VISUAL STORY STAYS</small></div></div></div>
css
.s-demo{position:absolute;inset:0;display:grid;place-items:center;padding:clamp(8px,3vmin,20px);font:700 clamp(10px,max(2.8vmin,1vw),16px)/1.25 sans-serif;color:var(--fg)}.s-demo *{box-sizing:border-box}@media(min-width:600px){.s-demo>div{transform:scale(1.4)}}.so{width:min(90vw,480px);display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(8px,3vmin,20px);align-items:center}.so-screen{min-height:clamp(100px,36vmin,210px);padding:clamp(9px,3vmin,20px);background:var(--fg);color:var(--bg);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.so-screen span,.so-controls small{font-size:clamp(10px,max(1.8vmin,1vw),12px)}.so-screen strong{font-size:clamp(14px,4vmin,25px);line-height:1}.so-object{height:clamp(20px,8vmin,48px);display:flex;gap:4px;align-items:end}.so-object i{width:35%;height:100%;background:var(--accent-2);transform:skew(-15deg)}.so-object i+ i{height:45%;background:var(--accent)}.so-controls{display:grid;gap:clamp(7px,2vmin,14px)}.so-controls button{padding:clamp(7px,2vmin,12px);font:900 clamp(10px,max(2vmin,1vw),14px) sans-serif;border:2px solid var(--accent);background:var(--surface);color:var(--fg);cursor:pointer}.so-controls button b{color:var(--accent)}.so-wave{height:clamp(30px,10vmin,65px);display:flex;align-items:center;justify-content:space-evenly;border:1px solid var(--line);background:var(--surface)}.so-wave i{display:block;width:8%;height:30%;background:var(--accent);animation:sowave 1s ease-in-out infinite alternate}.so-wave i:nth-child(2),.so-wave i:nth-child(4){animation-delay:.4s}.so-wave i:nth-child(3){animation-delay:.7s}.so.muted .so-wave i{animation:none;height:4px;background:var(--muted)}.so-controls small{color:var(--muted)}@keyframes sowave{to{height:85%}}
js
const wrap=document.querySelector('.so');const button=wrap.querySelector('button');function toggle(){wrap.classList.toggle('muted');button.querySelector('b').textContent=wrap.classList.contains('muted')?'OFF':'ON'}button.addEventListener('click',()=>{clearInterval(timer);toggle()});const timer=setInterval(toggle,2800);

소리 유무 설계는 음성·효과음에 담긴 정보와 화면·자막에 담긴 정보를 함께 배치하는 방법입니다. 자막의 존재만 확인하는 것보다 두 시청 상태에서 이야기가 완성되는지 보는 일에 가깝습니다.

데모에서 소리를 켜면 음성 파형이 강조되고, 끄면 행동을 설명하는 화면 단서가 남습니다. 핵심 약속과 제품 동작은 어느 상태에서도 확인되게 만드세요.

무음 시청을 가정해 소리의 장점을 버릴 필요는 없습니다. 음악과 목소리는 감정을 보태되, 필수 정보의 유일한 통로가 되지 않게 하세요.

언제 쓰나

숏폼의 내레이션과 화면 텍스트를 함께 검수할 때 씁니다.

페이지로 열기 ↗