1. position
- position 속성은 HTML 요소의 위치를 결정한다.
1-1 position 종류
- 정적 위치(static position) 지정 방식
- 상대 위치(relative position) 지정 방식
- 고정 위치(fixed position) 지정 방식
- 절대 위치(absolute position) 지정 방식
1-2 정적 위치(static position) 지정 방식
<style>
body {width: 500px; height: 500px; border: solid 1px black;}
div.static {border: solid 1px black; width: 100px; height: 50px; position: static;}
</style>
<body>
<div class="static">static</div>
</body>
- 웹 페이지의 흐름에 따라 차례대로 요소들을 위치시키는 방식이다.
- top, right, bottom, left 속성값에 영향을 받지 않는다.
- HTML 요소의 위치를 결정한다.
1-3 고정 위치(fixed position) 지정 방식
<style>
body {width: 500px; height: 1500px; border: solid 1px black;}
div.fixed {
border: solid 1px black;
width: 100px; height: 50px;
position: fixed; top: 50px; left: 50px;
}
</style>
<body>
<div class="fixed">fixed</div>
</body>
- 뷰포트(viewport)를 기준으로 위치를 설정하는 방식이다.
- 웹 페이지가 스크롤 되어도 고정 위치로 지정된 요소는 항상 같은 곳에 위치한다.
1-4 상대 위치(relative position) 지정 방식
<style>
div.a {
border: solid 1px black;
width: 100px; height: 50px;
position: relative; top: 50px; left: 100px;
}
div.b {
border: dashed 1px red;
width: 100px; height: 50px;
position: relative; top: 50px; left: 200px;
}
</style>
<body>
<div class="a">a</div>
<div class="b">b</div>
</body>
- static의 속성값을 기준으로 top, right, bottom, left의 값에 따라 오프셋을 적용한다.
1-5 절대 위치(absolute position) 지정 방식
<style>
body {width: 500px; height: 1500px; border: solid 1px black;}
div.relative{
border: 1px solid red;
width: 500px; height: 1500px;
position: relative;
}
div.absolute{
border: solid 1px black;
width: 100px; height: 50px;
position: absolute; top: 50px; right: 0;
}
</style>
<body>
<div class="relative"> 상대 위치
<div class="absolute">absolute</div>
</div>
<div class="absolute">absolute</div>
</body>
- 가장 가까운 위치 지정 요소에 대해 상대적으로 배치한다.
- 조상 중 위치 지정 요소가 없다면 HTML 문서의 body 요소를 기준으로 위치를 설정한다.
2. z-index
<style>
.position {width: 150px; height: 80px;}
.relative {
border: solid 1px black;
background-color: gray;
position: relative; top: 50px; left: 50px;
z-index: 2;
}
.absolute {
border: solid 1px black;
background-color: darkgray;
position: absolute;
z-index: 1;
}
</style>
<body>
<div class="relative position">relative</div>
<div class="absolute position">absolute</div>
</body>
- position 속성을 사용하여 요소가 겹치게 될 경우 어느 요소가 앞에 나오고 어느 요소가 뒤에 나올지 배치 순서를 결정한다.
- 크기가 클수록 앞쪽에 위치하고 작을수록 뒤쪽에 위치하게 된다.
'FrontEnd > Css' 카테고리의 다른 글
[CSS] 구조 의사 클래스(structural pseudo-class) (0) | 2021.07.30 |
---|---|
[CSS] float (0) | 2021.07.30 |
[CSS] display, visibility, opacity (0) | 2021.07.27 |
[CSS] 아웃라인(outline) (0) | 2021.07.27 |
[CSS] 마진(margin) (0) | 2021.07.27 |