CSS / Tutorial / 세로 가운데 정렬하는 방법
CSS에서 텍스트의 가로 가운데 정렬은 text-align 속성을 이용합니다.
text-align: center;
요소의 가로 가운데 정렬은 margin 속성을 이용합니다.
margin-left: auto; margin-right: auto;
그렇다면 다음처럼 세로 정렬을 가운데로 하려면 어떻게 해야 할까요?

방법 1 - padding 속성 이용하기
바깥쪽 요소에 padding 속성을 추가해서 세로 정렬을 가운데로 할 수 있습니다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>CSS</title>
<style>
body {
box-sizing: border-box;
font-family: Consolas, monospace;
}
.jb-wrap {
border: 1px solid #444444;
padding: 100px 0px;
}
h1 {
padding: 20px 0px;
background-color: #444444;
text-align: center;
color: #ffffff;
}
</style>
</head>
<body>
<div class="jb-wrap">
<h1>Lorem Ipsum Dolor</h1>
</div>
</body>
</html>
방법 2 - margin 속성 이용하기
안쪽 요소에 margin 속성을 추가해서 세로 정렬을 가운데로 할 수 있습니다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>CSS</title>
<style>
body {
box-sizing: border-box;
font-family: Consolas, monospace;
}
.jb-wrap {
border: 1px solid #444444;
}
h1 {
margin: 100px 0px;
padding: 20px 0px;
background-color: #444444;
text-align: center;
color: #ffffff;
}
</style>
</head>
<body>
<div class="jb-wrap">
<h1>Lorem Ipsum Dolor</h1>
</div>
</body>
</html>
방법 3 - 표(table)처럼 만들기
표처럼 만들고 세로 가운데 정렬을 가운데로 할 수 있습니다. 높이를 정하기 쉽다는 장점이 있으나 코드가 길어진다는 단점이 있습니다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>CSS</title>
<style>
body {
box-sizing: border-box;
font-family: Consolas, monospace;
}
.jb-table {
display: table;
width: 100%;
height: 280px;
border: 1px solid #444444;
}
.jb-table-row {
display: table-row;
}
.jb-table-cell {
display: table-cell;
vertical-align: middle;
}
h1 {
padding: 20px 0px;
background-color: #444444;
text-align: center;
color: #ffffff;
}
</style>
</head>
<body>
<div class="jb-table">
<div class="jb-table-row">
<div class="jb-table-cell">
<h1>Lorem Ipsum Dolor</h1>
</div>
</div>
</div>
</body>
</html>
방법 4 - Flex 이용하기
CSS3의 flex를 이용하면 쉽게 세로 가운데 정렬을 구현할 수 있습니다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>CSS</title>
<style>
body {
box-sizing: border-box;
font-family: Consolas, monospace;
}
.jb-wrap {
height: 280px;
display: flex;
align-items: center;
border: 1px solid #444444;
}
h1 {
width: 100%;
padding: 20px 0px;
background-color: #444444;
text-align: center;
color: #ffffff;
}
</style>
</head>
<body>
<div class="jb-wrap">
<h1>Lorem Ipsum Dolor</h1>
</div>
</body>
</html>









