2 분 소요

position z-index


웹 요소 위치 지정

position을 알아보기전 알아야할 속성이 있다. left, right, top, bottom 속성은 position 속성으로 기준위치를 정하면 기준 위치로부터 얼마나 떨어질 것인지 지정하는 속성이다.

종류 설명
left 기준 위치에서부터 요소를 왼쪽으로 얼마나 떨어뜨릴 값 지정
right 기준 위치에서부터 요소를 오른쪽으로 얼마나 떨어뜨릴 값 지정
top 기준 위치에서부터 요소를 위쪽으로 얼마나 떨어뜨릴 값 지정
bottom 기준 위치에서부터 요소를 아래쪽으로 얼마나 떨어뜨릴 값 지정

position

position 속성은 웹 문서 내에서 요소들의 위치를 결정하는 방식을 설정하는 속성으로 속성을 잘 사용하면 원하는 지점에 요소의 위치를 배치하는 것이 가능해진다. 그러나 그만큼 실수도 많이 하는 부분이다. 속성값의 종류로는 4가지로 static(기본값), relative(상대위치), fixed(고정위치), absolute(절대위치) 결정 방식이 있다.

종류 설명
static 기본값으로 HTML 요소의 위치를 결정하는 기본적인 방식으로
top, left, right, botton 속성값을 사용하지 않고 단순히 웹 페이지 흐름에 따라 차례대로 요소들의 위치를 결정하는 방식이다.
relative HTML 요소의 기본 위치를 기준으로 위치를 재설정하는 방식으로
top, left, right, botton 속성값을 사용하여 위치를 지정한다.
fixed 뷰 포트를 기준으로 위치를 설정하는 방식으로
웹 페이지가 스크롤 되어도 고정위치로 지정된 요소는 항상 같은 곳에 위치한다.
absolute 뷰 포트를 기준으로 위치를 결정하는 방식으로조상요소를 기준으로 위치를 결정하게 된다.
위치가 설정된 조상요소를 가지지 않으면 body 요소를 기준으로 위치가 결정된다.

relative

<!--생략-->
...
.relative1{
    width: 200px;
    background-color: deeppink;
    margin-left: 50px;
    padding: 20px;
}
.relative2{
    position: relative;
    width: 400px;
    top: 50px;
    left: 100px;
    background-color: deepskyblue;
    padding: 20px;
}
...
    <div class="relative1">상대위치 지정방식1</div>
    <div class="relative2">상대위치 지정방식2</div>
...
<!--생략-->

relative2 클래스 박스는 기본 위치에서 위로부터 50px, 왼쪽으로부터 100px 만큼 떨어진 것을 볼 수 있다. 기본 위치를 기준으로 위치를 재설정하는 방식인 상대 위치 결정방식이다.

css12-1

fixed

<!--생략-->
...
#fx{
    position: fixed;
    top: 10px;
    right: 10px;
    width: 100px;
    height: 100px;
    background-color: gold;
}
...
<div id="fx"></div>
<div id="content">
	<p>Lorem ipsum dolor sit amet consectetur...</p>
				...
	<p>Lorem ipsum dolor sit amet consectetur...</p>
</div>
...
<!--생략-->

fx 아이디 요소 박스의 위치가 디스플레이 화면상의 표시 영역을 기준으로 위쪽에서 10px, 오른쪽에서 10px 만큼 떨어져있다. 디스플레이 화면를 기준으로 위치를 결정하는 방식인 고정 위치 결정방식이다.

css12-2

absolute

<!--생략-->
...
#ab1{
	top: 0; right: 0;
}
#ab2{
	bottom: 0; right: 0;
}
#ab3{
	bottom: 0; left: 0;
}
#ab4{
	top: 200px; left: 200px;
}
...
<div id="wrap">
    <div class="box" id="ab1"></div>
    <div class="box" id="ab2"></div>
    <div class="box" id="ab3"></div>
    <div class="box" id="ab4"></div>
    <div class="box" id="ab5"></div>
</div>
...
<!--생략-->

각 박스 요소마다 상위요소을 기준으로 위치를 지정한 것을 확인 하였고 이러한 방식이 절대 위치 결정방식이다.

css12-3

z-index

HTML 요소의 위치를 설정하게 되면 위치 및 방식에 따라 겹칠 수 있다. z-index는 겹쳐지는 요소들이 쌓이는 순서를 결정할 때 사용하게된다. z-index의 크기가 클수록 위에 위치하고 작을 수 록 아래 위치하게된다.

<!--생략-->
...
#b1{
    left:50px;
    top: 200px;
    background-color: pink;
    z-index: 10; /* z-index : 순서*/
}
#b2{
    left: 200px;
    top: 90px;
    background-color: greenyellow;
    z-index: 100;
}
#b3{
    left:70px;
    top: 50px;
    background-color: gold;
    z-index: 1;
}
...
<div id="wrapper">
    <div id="b1" class="box">첫번째 div</div>
    <div id="b2" class="box">두번째 div</div>
    <div id="b3" class="box">세번째 div</div>
</div>
...
<!--생략-->

css12-4

z-index의 크기가 가장 높은 #b2요소가 맨 위에 쌓이고 그 밑으로 z-index의 크기가 낮은 순으로 쌓이게된다.

태그:

카테고리:

업데이트: