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

나눔웹 퍼블리싱 꿀팁

모바일에서 표(table)가 깨질 때, 가로 스크롤로 감싸거나 카드형으로 바꾸는 법

PC에서는 멀쩡하던 요금표나 비교표가 모바일에서 글자가 한 글자씩 세로로 쪼개지거나 화면 밖으로 밀려나는 경우가 많습니다.
해결 방법은 크게 두 가지입니다. 표를 그대로 두고 가로 스크롤로 감싸거나, 작은 화면에서만 카드형으로 바꿔 보여주는 것입니다.

💡 표는 왜 유독 모바일에서 무너질까요?

표는 칸 수가 정해져 있어서 화면이 좁아져도 칸을 줄일 수가 없습니다. 브라우저는 360px 남짓한 폭에 칸을 모두 넣으려고 각 칸을 최대한 좁히고, 그래서 한글이 한 글자씩 줄바꿈되는 모양이 나옵니다. 에디터에서 표에 폭을 px로 고정해 둔 경우에는 반대로 표가 화면 밖으로 튀어나가 페이지 전체가 옆으로 밀립니다.

1. 가장 빠른 방법: 가로 스크롤로 감싸기

표를 div로 한 번 감싸고 그 박스에만 overflow-x: auto를 주면, 페이지는 그대로 두고 표만 옆으로 넘겨볼 수 있습니다. 여기에 표 자체의 최소 폭을 정해 두면 칸이 찌그러지지 않습니다.

<!-- 표를 div로 한 번 감싸기 -->
<div class="table-wrap">
  <table> ... </table>
</div>

/* CSS */
.table-wrap {
  overflow-x: auto;
}
.table-wrap table {
  min-width: 600px; /* 칸이 찌그러지지 않는 폭 */
  border-collapse: collapse;
}

실제 리뉴얼 작업에서 써 보면, 방문자가 옆으로 넘길 수 있다는 걸 모르고 지나치는 경우가 꽤 있습니다. 표 위에 작게 ‘옆으로 밀어서 보기’ 같은 안내 문구를 넣거나, 첫 번째 열(항목명)에 position: sticky; left: 0;과 배경색을 주어 고정해 두면 훨씬 읽기 편해집니다.

2. 칸이 적은 표라면: 모바일에서 카드형으로 바꾸기

요금표처럼 칸이 3~4개뿐이라면 작은 화면에서 행 하나를 카드 한 장으로 바꾸는 방식이 더 자연스럽습니다. 각 칸에 data-label로 제목을 넣어 두고, 미디어쿼리 안에서 ::before로 그 제목을 꺼내 보여주는 방식입니다.

<td data-label="요금">월 33,000원</td>

@media (max-width: 767px) {
  .card-table thead { display: none; }
  .card-table tr {
    display: block;
    margin-bottom: 12px;
    border: 1px solid #ddd;
  }
  .card-table td {
    display: flex;
    justify-content: space-between;
  }
  .card-table td::before {
    content: attr(data-label);
    font-weight: 700;
  }
}

주의할 점이 하나 있습니다. 표 요소에 display: block이나 flex를 주면 일부 브라우저와 화면 낭독기에서 더 이상 표로 인식하지 못할 수 있습니다. 정보 전달이 중요한 표라면 1번 방식이 더 안전합니다.

3. 어떤 방식을 고를지 정리

방식잘 맞는 표주의할 점
가로 스크롤칸이 많은 비교표, 시간표옆으로 넘겨야 한다는 걸 모를 수 있음
카드형칸이 3~4개인 요금표, 신청 내역항목끼리 나란히 비교하기 어려움

마지막으로, 에디터로 만든 표에 width="800" 같은 고정 폭이 들어 있지 않은지도 꼭 확인하세요. 위 CSS를 넣어도 고정 폭이 남아 있으면 모바일에서 또 밀려납니다.

"표 하나가 모바일 화면 전체를 흔들 수 있습니다."

나눔웹은 페이지를 완성하기 전에 요금표와 안내표까지 실제 휴대폰 폭에서 한 번씩 넘겨 보고 마무리합니다.


List of Articles
번호 분류 제목 글쓴이
» 퍼블리싱 모바일에서 표(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 캐시 초기화로 바로 바꾸는 법 나눔웹
49 UI/UX 문의 폼 중복 접수 막는 법, 전송 버튼 연타와 새로고침 재전송 정리 나눔웹
Board Pagination Prev 1 2 3 4 Next
/ 4
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4