실무에 바로 적용할 수 있는 웹 제작 꿀팁 및 유용한 자료실 공간입니다.
나눔웹이 제공하는 핵심 노하우와 마케팅 인사이트를 자유롭게 활용해 보십시오.

나눔웹 UI/UX 꿀팁

스켈레톤 로딩 화면 만들기, 빈 화면 대신 회색 자리 표시로 기다림 줄이는 법

스켈레톤 로딩은 게시글 목록이나 상품 카드가 불러와지는 동안, 실제 내용이 들어갈 자리에 회색 상자를 먼저 그려 두는 방식입니다.
하얀 빈 화면이나 빙글빙글 도는 아이콘만 보여줄 때보다 무엇이 나올지 미리 보이기 때문에 기다림이 덜 답답하게 느껴집니다. CSS 몇 줄이면 만들 수 있습니다.

💡 로딩 아이콘 하나면 충분하지 않나요?

짧은 대기라면 괜찮습니다. 다만 목록이 비어 있다가 한꺼번에 채워지면 화면이 갑자기 아래로 밀리고, 방문자는 지금 무엇을 기다리는지 알 수 없습니다. 자리를 먼저 잡아 두면 레이아웃이 흔들리지 않고, 페이지 구조가 먼저 보이니 이탈도 덜합니다.

1. 기본 스켈레톤 카드 만들기

핵심은 회색 상자에 밝은 띠가 지나가는 그라데이션 애니메이션입니다. 배경 크기를 200%로 키운 뒤 background-position을 옮기면 빛이 훑고 지나가는 효과가 납니다.

<div class="sk-card">
  <div class="sk sk-thumb"></div>
  <div class="sk sk-line"></div>
  <div class="sk sk-line short"></div>
</div>

.sk {
  background: linear-gradient(90deg,
    #eee 25%, #f6f6f6 50%, #eee 75%);
  background-size: 200% 100%;
  animation: sk-shine 1.4s ease infinite;
  border-radius: 6px;
}
.sk-thumb { aspect-ratio: 4 / 3; }
.sk-line { height: 14px; margin-top: 10px; }
.sk-line.short { width: 60%; }

@keyframes sk-shine {
  from { background-position: 100% 0; }
  to   { background-position: -100% 0; }
}

2. 실제 내용과 크기를 똑같이 맞추기

스켈레톤에서 가장 흔한 실수는 회색 상자와 실제 카드의 크기가 다른 경우입니다. 상자는 높이 200px인데 실제 썸네일은 260px이면, 내용이 들어오는 순간 화면이 덜컹 밀립니다. 위 코드처럼 썸네일은 실제 이미지와 같은 aspect-ratio를 쓰고, 글줄 높이와 간격도 실제 제목·요약 글씨에 맞춰 두세요.

개수도 중요합니다. 한 화면에 카드가 6개 나오는 목록이라면 스켈레톤도 6개 정도로 맞춰야 자연스럽습니다. 저희는 리뉴얼 작업 때 실제 카드와 스켈레톤을 겹쳐 놓고 위치가 어긋나지 않는지 확인한 뒤 적용합니다.

3. 화면 낭독기와 움직임 줄이기 설정까지

회색 상자는 시각 장치일 뿐이라 화면 낭독기에는 의미가 없습니다. 상자에는 aria-hidden="true"를 주고, 감싸는 영역에 aria-busy="true"와 짧은 안내 문구를 넣은 뒤 로딩이 끝나면 false로 바꿔 줍니다. 기기에서 애니메이션 줄이기를 켠 방문자에게는 반짝임을 멈춰 주는 것이 좋습니다.

<!-- 불러오는 동안 -->
<section class="list" aria-busy="true">
  <span class="sr-only">목록을 불러오는 중입니다</span>
  <div class="sk-card" aria-hidden="true">...</div>
</section>

/* 움직임 줄이기 설정 사용자 */
@media (prefers-reduced-motion: reduce) {
  .sk { animation: none; }
}
  • 데이터가 거의 바로 뜨는 화면이라면 스켈레톤이 오히려 깜빡임처럼 보일 수 있습니다.
  • 버튼, 메뉴처럼 처음부터 있는 요소는 스켈레톤으로 가리지 말고 그대로 보여주세요.
  • 불러오기에 실패했을 때는 회색 상자를 그대로 두지 말고 안내 문구로 바꿔야 합니다.

"기다리는 시간도 화면 설계의 일부입니다."

나눔웹은 내용이 다 들어온 화면뿐 아니라, 불러오는 몇 초 동안의 화면까지 같이 그려 두고 작업합니다.


List of Articles
번호 분류 제목 글쓴이
» UI/UX 스켈레톤 로딩 화면 만들기, 빈 화면 대신 회색 자리 표시로 기다림 줄이는 법 new 나눔웹
68 퍼블리싱 모바일에서 표(table)가 깨질 때, 가로 스크롤로 감싸거나 카드형으로 바꾸는 법 new 나눔웹
67 웹 성능 gzip 압축 설정법, 홈페이지 HTML·CSS 파일을 작게 보내 로딩 줄이는 순서 new 나눔웹
66 모바일 아이폰에서 숫자가 파란 전화 링크로 바뀔 때, format-detection으로 막는 법 new 나눔웹
65 마케팅 사이트맵(sitemap.xml) 만들기, 새 페이지가 검색에 늦게 잡힐 때 작성과 제출법 나눔웹
64 UI/UX FAQ 아코디언 만들기, details와 summary 태그로 스크립트 없이 접고 펴는 법 나눔웹
63 웹 성능 PageSpeed Insights 점수 보는 법, 실사용자 데이터와 실험실 점수가 다를 때 나눔웹
62 UI/UX 404 에러 페이지 만들기, 방문자를 놓치지 않는 구성과 상태 코드 확인법 나눔웹
61 퍼블리싱 카드 목록 반응형 정렬, 미디어쿼리 대신 grid auto-fill과 minmax로 나눔웹
60 마케팅 구글 검색 사이트 이름이 엉뚱하게 나올 때, WebSite 구조화 데이터로 지정하는 법 나눔웹
59 모바일 모바일 가로 스크롤이 생길 때, 화면 밖으로 튀어나온 요소 찾아 고치는 순서 나눔웹
58 웹 성능 외부 폰트가 늦게 뜰 때, preconnect와 dns-prefetch로 연결 시간 줄이는 법 나눔웹
57 퍼블리싱 모달 팝업 만들기, dialog 태그로 ESC 닫기와 배경 클릭 닫기까지 처리하는 법 나눔웹
56 마케팅 301 리디렉션 설정법, 페이지 주소를 바꿀 때 검색 노출 지키는 순서 나눔웹
55 UI/UX 화면 애니메이션 줄이기 설정, prefers-reduced-motion으로 대응하는 법 나눔웹
54 웹 성능 유튜브 영상 넣었더니 페이지가 느려질 때, iframe 지연 로딩과 썸네일 대체법 나눔웹
53 마케팅 이미지 alt 태그 작성법, 검색 노출과 접근성까지 같이 챙기는 실무 기준 나눔웹
52 모바일 모바일 viewport 설정법, 화면이 작게 보이거나 확대가 막혔을 때 점검할 것 나눔웹
51 퍼블리싱 긴 URL·이메일 줄바꿈이 안 되고 박스를 뚫을 때, overflow-wrap 쓰는 법 나눔웹
50 마케팅 카톡 공유 썸네일이 예전 그대로일 때, OG 캐시 초기화로 바로 바꾸는 법 나눔웹
Board Pagination Prev 1 2 3 4 Next
/ 4
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4