| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- Typescript
- vscode
- json
- Webpack
- cross-origin isolated
- Python
- secure context
- Vite
- UV
- CSS
- vim
- curl
- 정렬
- PowerShell
- podman
- tauri
- FileChannel
- 이미지
- Java
- json schema
- uv init
- Docker Compose
- Ollama
- uv pin
- yaml
- docker
- io
- cli
- RandomAccessFile
- Python Install Manager
- Today
- Total
워로디스
CSS. 중앙 정렬 방법 정리 본문
CSS 중앙 정렬은 무엇을 정렬하는지에 따라 적절한 방법이 달라집니다.
1. Grid를 이용한 가로·세로 중앙 정렬
자식 요소 하나를 가로와 세로 중앙에 배치할 때 가장 간결한 방법입니다.
.container {
display: grid;
place-items: center;
min-height: 200px;
}
<div class="container">
<div>중앙에 정렬됨</div>
</div>
place-items: center는 다음 두 속성을 한 번에 지정합니다.
align-items: center;
justify-items: center;
단일 요소를 중앙에 배치하는 경우 Grid 방식이 간결하고 읽기 쉽습니다.
2. Flex를 이용한 가로·세로 중앙 정렬
여러 요소를 한 방향으로 배치하거나 정렬해야 할 때 적합합니다.
.container {
display: flex;
justify-content: center;
align-items: center;
min-height: 200px;
}
<div class="container">
<div>중앙에 정렬됨</div>
</div>
justify-content: center: 주축 방향 중앙 정렬align-items: center: 교차축 방향 중앙 정렬
기본값인 flex-direction: row에서는 각각 가로와 세로 중앙 정렬에 해당합니다.
세로 중앙 정렬이 눈에 보이려면 부모 요소에 충분한 높이가 있어야 합니다.
3. Flex 또는 Grid 내부에서 margin: auto 사용
부모가 Flex 또는 Grid 컨테이너라면 자식 요소에 margin: auto를 적용하여 중앙에 배치할 수도 있습니다.
.container {
display: flex;
min-height: 200px;
}
.item {
margin: auto;
}
이 방식은 단일 자식 요소를 간단히 중앙에 배치할 때 사용할 수 있습니다.
4. margin: 0 auto를 이용한 가로 중앙 정렬
블록 요소 자체를 가로 중앙에 배치할 때 사용합니다.
.box {
width: 500px;
margin: 0 auto;
}
margin: 0 auto는 다음과 같은 의미입니다.
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
좌우의 남는 공간이 동일하게 배분되면서 요소가 부모 안에서 가로 중앙에 놓입니다.
다음 조건이 필요합니다.
- 요소의 너비가 부모 요소보다 작아야 합니다.
- 일반적으로 블록 요소에 사용합니다.
- 세로 중앙 정렬에는 사용할 수 없습니다.
- 요소 내부의 텍스트를 정렬하는 방법은 아닙니다.
반응형 레이아웃에서는 다음과 같이 사용할 수 있습니다.
.box {
width: 100%;
max-width: 500px;
margin-inline: auto;
}
margin-inline: auto는 좌우 방향을 논리 속성으로 표현한 방식으로, 다국어 레이아웃에도 적합합니다.
5. 텍스트 중앙 정렬
요소 내부의 텍스트나 인라인 콘텐츠를 중앙에 정렬하려면 text-align을 사용합니다.
.container {
text-align: center;
}
text-align: center는 요소 자체가 아니라 요소 안의 텍스트와 인라인 콘텐츠를 정렬합니다.
용도별 추천
| 목적 | 권장 방법 |
|---|---|
| 단일 요소의 가로·세로 중앙 정렬 | display: grid; place-items: center; |
| 여러 요소의 정렬과 배치 | Flex |
| Flex 또는 Grid 내부의 단일 요소 중앙 정렬 | margin: auto; |
| 블록 요소 자체의 가로 중앙 정렬 | margin-inline: auto; |
| 텍스트 중앙 정렬 | text-align: center; |
결론
단일 요소를 중앙에 배치할 때는 다음 방법이 가장 간결합니다.
.container {
display: grid;
place-items: center;
}
여러 요소의 방향과 간격을 함께 제어해야 한다면 Flex를 사용하고, 일반 블록 요소 자체를 가로 중앙에 배치할 때는 margin-inline: auto를 사용하는 것이 적절합니다.
'개발 > CSS' 카테고리의 다른 글
| CSS. 변수 사용 방법 (0) | 2026.07.11 |
|---|---|
| CSS visibility 상속과 재정의 규칙 정리 (0) | 2026.04.29 |
