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

나눔웹 퍼블리싱 꿀팁

모바일에서 표(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
번호 분류 제목 글쓴이
68 웹 성능 홈페이지 로딩 속도를 3배 높이는 '이미지 최적화' 실무 가이드 나눔웹
67 퍼블리싱 CSS 변수로 유지보수와 테마 기능을 한 번에! (CSS Custom Properties) 나눔웹
66 마케팅 카카오톡 링크 썸네일의 비밀! 클릭률을 높이는 '오픈 그래프(OG)' 세팅법 나눔웹
65 모바일 모바일 꽉 찬 화면 하단 짤림 현상! '100vh'의 함정과 완벽 해결법 나눔웹
64 웹 성능 홈페이지 첫 화면 글자 깜빡임(투명 현상) 1초 만에 해결하는 법 나눔웹
63 퍼블리싱 스마트폰에서 로고가 흐리게 보인다고요? 'SVG' 포맷이 정답입니다. 나눔웹
62 웹 성능 클릭 실수 유발하는 '화면 덜컹거림(CLS)', 단 한 줄로 해결하는 법 나눔웹
61 모바일 고객의 이탈을 막는 1초 디테일, '모바일 맞춤형 키보드' 세팅법 나눔웹
60 UI/UX 모바일에서 버튼 누를 때 생기는 촌스러운 '회색 박스' 없애는 법 나눔웹
59 UI/UX 레이아웃을 망치는 긴 글, 예쁘게 '...'으로 자르는 마법의 CSS 나눔웹
58 UI/UX 상단 메뉴에 제목이 가려진다고요? '부드러운 스크롤' 마법의 2줄 나눔웹
57 모바일 아이폰에서 입력창 누를 때 화면 '자동 확대'되는 현상 막는 법 나눔웹
56 퍼블리싱 지저분한 모바일 스크롤바, 기능은 남기고 쏙 숨기는 마법의 CSS 나눔웹
55 모바일 모바일 웹을 진짜 '앱(App)'처럼! 이미지 꾹 누를 때 뜨는 팝업 막기 나눔웹
54 UI/UX 애플(Apple) 사이트처럼 고급스러운 '반투명 유리' 메뉴 만드는 법 나눔웹
53 퍼블리싱 무거운 플러그인 NO! 넷플릭스처럼 쫀득한 '가로 스와이프' CSS로 뚝딱 만들기 나눔웹
52 UI/UX 1%의 디테일이 브랜딩을 완성합니다! '텍스트 드래그 색상' 바꾸기 나눔웹
51 UI/UX 투박한 파란색 체크박스는 그만! 단 1줄로 우리 회사 컬러 입히기 나눔웹
50 모바일 하단 고정 버튼이 아이폰 '검은 줄'에 겹친다면? (Safe Area 대응법) 나눔웹
49 모바일 앗, 실수로 새로고침! 튕기는 모바일 화면 꽉 잡는 법 (Overscroll) 나눔웹
Board Pagination Prev 1 2 3 4 Next
/ 4
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4