HTML과 CSS를 배우다 보면 누구나 한 번쯤 헷갈리는 부분이 바로 공백과 줄바꿈 처리입니다.
특히 CSS를 이용해 요소 간의 간격을 조절하려고 할 때, 의도치 않게 생기는 공백 때문에 레이아웃이 무너지는 경험을 하셨을 수도 있어요.
이번 포스팅에서는 CSS에서 공백과 줄바꿈이 어떻게 동작하는지, 어떤 속성들이 영향을 주는지, 그리고 실무에서 어떻게 다뤄야 하는지 자세히 알아보겠습니다.
1. HTML의 공백 처리 기본
HTML에서는 **연속된 공백(띄어쓰기, 탭, 줄바꿈)**이 모두 **하나의 공백 문자(space)**로 처리됩니다.
<p>안녕하세요, 저는 개발자입니다.</p>
위 코드는 브라우저에서 다음과 같이 출력됩니다:
안녕하세요, 저는 개발자입니다.
이러한 처리는 HTML 자체의 기본 동작입니다. 여러 줄을 띄워도 눈에는 하나의 공백만 보여요.
2. CSS에서 공백과 줄바꿈에 영향을 주는 속성
white-space
white-space 속성은 공백과 줄바꿈의 처리 방식을 제어할 수 있습니다.
normal | 기본값. 연속된 공백은 하나로, 줄바꿈은 무시됨 |
nowrap | 줄바꿈 없이 한 줄로 표시 |
pre | 공백과 줄바꿈 모두 그대로 표시 (마치 <pre> 태그처럼) |
pre-wrap | 공백과 줄바꿈 유지 + 영역 넘으면 자동 줄바꿈 |
pre-line | 줄바꿈은 유지, 연속된 공백은 하나로 축소 |
예시:
p { white-space: pre-line; }
3. 줄바꿈과 공백으로 생기는 문제 사례
문제 1: inline-block 사이 간격
<div class="box">박스1</div> <div class="box">박스2</div>
이런 식으로 display: inline-block 요소를 나란히 배치하면 중간의 공백 문자로 인해 작은 간격이 생깁니다. 이 공백은 HTML 줄바꿈이나 스페이스로 생긴 텍스트 노드 때문입니다.
해결 방법:
- 요소 사이 공백 제거 (태그 붙여쓰기)
- HTML 주석으로 공백 제거
- font-size: 0 사용
4. 공백 제거 실전 팁
줄바꿈 없이 코딩 (추천)
<div class="box">박스1</div><div class="box">박스2</div>
HTML 주석으로 처리
<div class="box">박스1</div><!-- --><div class="box">박스2</div>
부모 요소에 font-size: 0 설정
.parent { font-size: 0; }
<div class="parent"> <div class="box">박스1</div> <div class="box">박스2</div> </div>
5. (non-breaking space)의 역할
HTML에서 는 줄바꿈되지 않는 공백입니다. 줄바꿈을 막고 싶을 때 자주 사용됩니다.
예시:
<p>안녕하세요, 반갑습니다!</p>
6. 실무에서 주의할 점
- 공백으로 인해 생기는 레이아웃 붕괴는 디버깅이 어렵습니다. 개발 초기에 잘 처리해두는 게 중요합니다.
- 공백 문제는 CSS보다 HTML 구조와 작성 습관에 더 영향을 많이 받습니다.
- white-space, display, font-size, margin 조합으로 레이아웃을 정밀하게 조정할 수 있습니다.
마무리: 공백도 코드의 일부입니다
CSS에서 공백은 단순히 눈에 보이지 않는 요소가 아닙니다. 의도하지 않은 공백 하나로도 전체 디자인이 흐트러질 수 있어요. 오늘 배운 내용을 통해 공백을 제어 가능한 요소로 인식하고, 실무에서도 자신 있게 활용해보세요!
궁금하신게 있으시면 댓글 달아주세요.
이 글이 도움이 되었다면 ♡(공감), 광고 눌러 주세요.
큰 도움이 됩니다.

'Front End > CSS' 카테고리의 다른 글
[CSS] 텍스트 취소선과 라인 굵기 조절 방법 (0) | 2025.03.27 |
---|---|
[CSS] 그리드(Grid) 사용법 완전 정리! (레이아웃 예제 포함) (0) | 2025.01.22 |
[CSS] CSS 변수 사용법(CSS 사용자 정의) (2) | 2025.01.20 |
[CSS] root(전역요소)이용한 변수 선언하기 (0) | 2024.01.03 |
[CSS] 포토샵 드롭섀도(Drop shadows) CSS로 변환 하기 (0) | 2022.12.26 |