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

나눔웹 퍼블리싱 꿀팁

긴 URL·이메일 줄바꿈이 안 되고 박스를 뚫을 때, overflow-wrap 쓰는 법

게시글에 붙여 넣은 긴 URL이나 이메일 주소가 줄바꿈되지 않고 박스 밖으로 튀어나와 모바일 화면이 옆으로 밀리는 경우가 있습니다.
이럴 때는 overflow-wrap: anywhere 한 줄로 대부분 정리됩니다. word-break와 무엇이 다른지, 한글 사이트에서 같이 쓸 때 주의할 점까지 정리했습니다.

💡 왜 URL만 줄바꿈이 안 될까요?

브라우저는 기본적으로 띄어쓰기나 하이픈 같은 자리에서만 줄을 바꿉니다. 띄어쓰기 없이 길게 이어진 URL, 이메일, 영문 파일명은 통째로 한 단어로 보기 때문에 들어갈 자리가 없으면 그냥 밖으로 넘칩니다. 한글 가독성 때문에 word-break: keep-all을 걸어 둔 사이트라면 띄어쓰기 없는 긴 한글 문자열도 같은 문제가 생깁니다.

1. 본문 영역에 overflow-wrap 한 줄 추가

게시판 본문이나 댓글처럼 사용자가 내용을 넣는 영역에 아래처럼 지정해 두면, 평소에는 단어 단위로 줄을 바꾸다가 넘칠 때만 긴 문자열 중간에서 끊어 줍니다. 멀쩡한 영문 단어까지 잘라 버리지 않는다는 점이 핵심입니다.

/* 게시글 본문, 댓글 영역 */
.post-content {
  word-break: keep-all;     /* 한글은 어절 단위 */
  overflow-wrap: anywhere;  /* 넘칠 때만 강제 줄바꿈 */
}

/* 구형 브라우저 대비 */
@supports not (overflow-wrap: anywhere) {
  .post-content { overflow-wrap: break-word; }
}

2. break-word로는 안 되는 경우: flex와 표 안쪽

overflow-wrap: break-word를 줬는데도 넘친다면 대개 flex 아이템이나 표 칸 안에 있는 경우입니다. break-word는 요소의 최소 폭을 계산할 때 쪼갤 자리를 고려하지 않아서, 긴 URL 길이만큼 칸이 버티고 늘어납니다. anywhere는 이 계산에도 반영되기 때문에 칸이 같이 줄어듭니다. 그래도 안 되면 flex 아이템에 min-width: 0, 표에는 table-layout: fixed를 함께 주면 됩니다.

/* 카드 안 이메일 주소가 넘칠 때 */
.card-info {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* 표 칸 안 긴 URL */
.board-table {
  table-layout: fixed;
  width: 100%;
}

3. word-break: break-all은 마지막 수단으로

급할 때 word-break: break-all을 많이 쓰는데, 이건 넘치지 않아도 모든 글자 사이를 줄바꿈 자리로 봅니다. 그래서 영문 문장이 줄 끝마다 어색하게 잘리고 한글도 단어 중간에서 끊깁니다. 로그나 해시값처럼 원래 읽을 일이 없는 영역에만 쓰는 것을 권합니다. 참고로 word-break: break-word는 표준에서 더 이상 권장하지 않는 값입니다.

속성동작
overflow-wrap: break-word넘칠 때만 단어 안에서 줄바꿈. 일반 본문용
overflow-wrap: anywhere위와 같고, flex·표 안에서도 폭 계산에 반영
word-break: break-all모든 글자 사이에서 줄바꿈. 영문 단어가 보기 싫게 잘림
word-break: keep-all한글을 어절 단위로 유지. 긴 문자열은 그대로 넘침

"줄바꿈은 디자인이 아니라 내용이 정합니다."

나눔웹은 납품 전 게시판에 긴 주소와 긴 문장을 직접 넣어 보며
모바일 화면이 옆으로 밀리지 않는지 확인합니다.


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