Home Ads

[HTML/CSS]수직 정렬 방법

1. div태그의 display속성을 table로 설정하는 방법
- 테이블 처럼 만들어서 vertical-align 속성을 사용할 수 있도록 하는 방법이다.
- 높이가 변해도 항상 수직 정렬이 가능하다.
- 낮은 버전의 IE에서 작동하지 않는다.
- HTML
1
2
3
4
5
<div id="wrapper">
    <div id="content">
        <div>내용</div>
    </div>
</div>
- CSS
1
2
3
4
5
6
7
8
#wrapper {
    display: table;
}
 
#content {
    display: table-cell;
    vertical-align: middle;
}



2. position: absolute를 사용하는 방법
- 요소의 높이를 css에서 지정하는 방법이다.
- 모든 브라우저에서 작동한다.
- 내용이 길어지면 잘린다.
- HTML
1
2
3
<div id="content">
    내용
</div>
- CSS
1
2
3
4
5
6
#content {
    position: absolute;
    top: 50%;
    height: 240px;
    margin-top: -120px;
}
※ top을 50%로 설정하고 margin-top을 요소 높이의 절반 만큼 음수로 설정한다.




3. line-height 속성을 이용한 방법
- 한 줄짜리 텍스트만 수직 가운데 정렬하는 방법이다.
- 모든 브라우저에서 작동한다.
- block요소에서는 작동하지 않고 오직 텍스트에서만 작동하며, 한 줄 이상이 되면 내용이 아래로 밀린다.
- HTML
1
2
3
<div id="content">
    내용
</div>
- CSS
1
2
3
4
#content {
    height: 240px;
    line-height: 240px;
}
※ 컨텐츠를 담고 있는 요소의 height와 line-height 값을 같게 설정한다.



4. margin:auto를 이용한 방법
- div태그에 width와 height를 지정하고 position:absolute 속성을 지정하여 정렬하는 방법이다. margin: 0 auto; 와 비슷한 정렬 방식이다.
- 낮은 버전의 IE에서 작동하지 않는다.
- 내용이 길어지면 잘린다.
- HTML
1
2
3
<div id="content">
    내용
</div>
- CSS
1
2
3
4
5
6
7
8
9
10
#content {
    position: absolute;
    width: 100px;
    height: 100px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}



5. float와 clear를 이용한 방법
- float된 div태그를 두고, 내용이 들어간 태그에는 clear 속성을 주어서 정렬하는 방법이다. 코드로 확인하는 것이 쉬울 듯하다.
- 모든 브라우저에서 동작하지만, 내용이 길어지거나 브라우저 사이즈를 줄일 때 스크롤 바가 생길 수 있다.
- HTML
1
2
3
4
<div id="blank"></div>
<div id="content">
    내용  
</div>
- CSS
1
2
3
4
5
6
7
8
9
10
11
#blank {
    float: left;
    height: 50%;
    margin-bottom: -50px;
}
 
#content {
    position: relative;
    clear: both;
    height: 100px;
}
※ #blank에 height를 50%, margin-bottom을 #content높이의 절반으로 설정한다.


출처: http://includestdio.tistory.com/2 [includestdio]
[HTML/CSS]수직 정렬 방법 [HTML/CSS]수직 정렬 방법 Reviewed by 코알라 on 9월 20, 2018 Rating: 5

댓글 없음:

페이지

Powered by Blogger.