Contents
see List작성일 2015. 08. 05.
CSS vertical-align 완벽 가이드
CSS에서 요소를 수직 정렬하는 것은 많은 개발자들이 어려워하는 부분입니다. vertical-align 속성과 다양한 수직 정렬 기법을 알아봅니다.
1. vertical-align 속성 이해하기
vertical-align은 인라인 요소나 테이블 셀에서만 동작합니다.
/* 인라인 요소에서 사용 */
img {
vertical-align: middle;
}
/* 테이블 셀에서 사용 */
td {
vertical-align: middle;
}2. Flexbox로 수직 정렬 (권장)
.container {
display: flex;
align-items: center; /* 수직 중앙 */
justify-content: center; /* 수평 중앙 */
height: 200px;
}
/* 자식 요소 개별 정렬 */
.child {
align-self: flex-start; /* 상단 */
align-self: center; /* 중앙 */
align-self: flex-end; /* 하단 */
}3. Grid로 수직 정렬
.container {
display: grid;
place-items: center; /* 수직, 수평 모두 중앙 */
height: 100vh;
}4. 절대 위치 + Transform
.parent {
position: relative;
height: 300px;
}
.child {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}5. Line-height 활용 (단일 라인)
.button {
height: 50px;
line-height: 50px; /* height와 동일하게 */
text-align: center;
}vertical-align 속성값
| 값 | 설명 |
|---|---|
| baseline | 부모 기준선 정렬 (기본값) |
| top | 라인 박스 상단 정렬 |
| middle | 부모 중앙 정렬 |
| bottom | 라인 박스 하단 정렬 |
| sub | 아래첨자 위치 |
| super | 위첨자 위치 |
| 길이/퍼센트 | 기준선에서 이동 |
실전 팁
- 블록 요소에는 vertical-align이 작동하지 않음
- 이미지 하단 여백 문제는 vertical-align: bottom 으로 해결
- 신규 프로젝트는 Flexbox나 Grid 사용 권장
- IE 지원 필요시 table-cell 기법 활용
html
| No | 작성일 | Title |
|---|---|---|
| 2054 | 2025. 11. 30. | HTML5 시맨틱 태그 완벽 가이드 |
| 1944 | 2024. 08. 06. | 크롬 html input 에서 자동완성 막기 |
| 1884 | 2023. 02. 24. | [ css ] width : height , 1:1 로 맞추기 |
| 1564 | 2020. 11. 29. | [ html ] 크롬 자동완성 끄기 |
| 1116 | 2016. 10. 10. | [ css ] textarea 줄바꿈 html 인식하기 |
| 337 | 2016. 01. 14. | [ jstl ] jstl 에서 현재날짜 기준으로 연산 |
| 325 | 2015. 11. 04. | [ html ] div 하단정렬 |
| 316 | 2015. 10. 12. | [ jstl ] number format ( 1000 단위 콤마, 날짜, 금액 ) |
| 314 | 2015. 08. 05. | [ CSS ] div 에 수직 정렬 ( vertical-align ) 설정하기 |
| 276 | 2015. 05. 08. | [ css ] 테이블 글자 자동으로 내려쓰기 |