반응형
Flexbox 레이아웃을 만들 때,
아이템 사이 간격을 주려고 margin-right, margin-bottom… 복잡하게 썼던 경험 있죠?
이젠 그럴 필요 없어요!
gap 속성 하나면 모든 아이템 간 간격을 한 번에 정리할 수 있어요!
✅ 기본 문법
.container {
display: flex;
gap: 20px;
}
gap은 아이템 사이의 공간만 설정해주는 속성이에요.
바깥쪽 여백은 적용되지 않고,
첫 요소와 마지막 요소 바깥은 건드리지 않아요!
📐 두 가지 버전으로 쓸 수 있어요
gap: 20px; /* row + column 모두 20px */
gap: 20px 10px; /* row 간격 20px, column 간격 10px */
💡 Flexbox에선 주로 gap: 20px 단일값으로 많이 사용
Grid에서도 똑같이 사용 가능!
🧪 실습 예시
<div class="container">
<div class="item">A</div>
<div class="item">B</div>
<div class="item">C</div>
</div>
<style>
.container {
display: flex;
gap: 16px;
}
.item {
background: #ffa07a;
padding: 10px 20px;
}
</style>
💡 왜 gap을 쓰는 게 더 좋은가요?
- 한 줄로 간격 통일 → 코드가 깔끔해짐
- 첫/마지막 요소 바깥 여백 없음 → 디자인 정렬이 안정적
- 반응형 레이아웃에서도 안정적인 간격 유지
❗ 브라우저 호환성은?
이제는 대부분의 브라우저에서 완벽히 지원됩니다.
심지어 Grid뿐 아니라 Flex에서도 gap 지원은 기본이에요.
예전처럼 margin으로 하나하나 계산할 필요 없음!
반응형
'HTML, CSS' 카테고리의 다른 글
display: grid 기초 완전정복 – 2차원 레이아웃의 문을 열다 (0) | 2025.06.05 |
---|---|
실전 예제 – Flexbox로 반응형 카드 UI 만들기 (0) | 2025.06.04 |
flex-grow, shrink, basis 완전정복 – 공간 나누기의 핵심 공식 (0) | 2025.06.02 |
flex-wrap 완전정복 – 넘치는 요소, 자동 줄바꿈의 모든 것 (0) | 2025.06.01 |
align-items & align-self 완전정복 – 세로 정렬이 안 되는 이유, 여기서 해결된다! (0) | 2025.05.30 |