Position- static,relative,absolute,fixed

13516 단어 positionposition

말 그대로 태그들을 어떻게 위치시키느냐 에대한 속성이다.
position에는 대표적으로 static ,relative, fixed , absolute가 있다.

static

모든 태그들의 디폴트 특징이 스태틱이다. 아직 특정한 방식으로 위치되지 않은 경우이다.

relative

top, right, bottom, left 의 값을 지정하면 기존의 자리에서 지정한 만큼의 값만큼 이동을 한다.

.relative1{
  position: relative;
  background-color: green;
}
<div class="relative1">
   relative는 우리가 다른 속성을 부여하지 않는 한 static 과 같이 실행된다. 
 </div>

위의 코드는 아래와 같이 나온다.

그렇다면 여기에 위치를 설정한다면 ?

.relative2{
  position: relative;
  bottom:10px;
  right:50px;
  background-color:pink; 
}
<div class="relative2">top,right,bottom,left 속성을 정하면 기존static 일때의 위치를 기준으로부터 네방향에 부여한 거리만큼 이동 </div>

다음과 같이 나온다는것을 확인할 수 있다.

fixed

이는 스크롤을 움직인다고해도 절대적으로 페이지의 지정한 위치에 고정되는 포지션이다. 마찬가지로 top, bottom, right,left 을 지정 (화면기준)
다음의 코드를 주목


<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <style media="screen">
    .relative1{
  position: relative;
  background-color: green;
}

      .relative2{
      position: relative;
      bottom:10px;
      right:50px;
      background-color:pink;
    }

    .fixed{
position: fixed;
bottom:0px;
right:0px;
background-color:aqua;
}


  </style>
  <body>
    <div class="relative1">
   relative는 우리가 다른 속성을 부여하지 않는 한 static 과 같이 실행된다.
 </div>
    <div class="relative2">top,right,bottom,left 속성을 정하면 기존static 일때의 위치를 기준으로부터 네방향에 부여한 거리만큼 이동 </div>
    <div class="fixed">지정해놓은 bottom,right,width,left 에 해당하는 화면상 장소에 고정이된다</div>
  </body>
</html>

아래의 하늘색 태그는 오른쪽 아래에 붙은채로 고정되어 스크롤을 움직여도 그대로이다

absolute

이는 포지션 에서 가장 까다로운 부분이다.
절대적인 고정적 위치를 가지는것이 아니라 , 부모에 해당하는 postion 을 가진 태그를 기준으로 위치한다. 단 , 부모 태그가 없으면 document body 를 기준으로 위치한다. 여기에서 부모 태그란 포지션이 static 에 해당하지 않는 태그들이다.

  <style media="screen">

.parent{
  position: relative;
  bottom:10px;
  left:100px;
  background-color:pink;
}

.child{
  position:absolute;
  top: 10px; /* 어디 기준으로 100px 이지? 50px로 하면 가까워지는게 아니라 더 멀어짐*/
  right: 0px;
  background-color:blanchedalmond;
   width: 100px;
  height: 50px;
}
  </style>
  <body>
    <div class="parent">
 <div class="relative2">top,right,bottom,left 속성을 정하면 기존static 일때의 위치를 기준으로부터 네방향에 부여한 거리만큼 이동 </div>
 </div>
 <div class="child">
 <div class="absolute">이것은 absolute</div>
 </div>
  </body>코드를 입력하세요

이는 아래와 같이 나온다.

좋은 웹페이지 즐겨찾기