Web/css

CSS Position

csmoon 2021. 8. 16. 03:59

CSS Position

  • 문서 상에서 요소를 배치하는 방법을 지정한다.
  • static : 모든 태그의 기본 값(기준 위치)
    • 일반적인 요소의 배치 순서에 따른다. (좌측 상단)
    • 부모 요소 내에서 배치될 때는 부모 요소의 위치를 기준으로 배치된다.
  • 아래는 좌표 프로퍼티(top, bottom, left, right)를 사용하여 이동이 가능(음수 값도 가능)
    • relative
    • absolute
    • fixed

 

static

div {
	height: 100px;
	width: 100px;
	background-color: #9775fa;
	color: black;
	line-height: 100px;
	text-align: center;
}

 

relative

relative : 상대 위치

  • 자기 자신의 static 위치를 기준으로 이동
  • 레이아웃에서 요소가 차지하는 공간은 static일 때와 같다.
.relative {
	position: relative;
	top: 100px;
	left: 100px;
}

 

absolute

absolute : 절대 위치

  • 요소를 일반적인 문서 흐름에서 제거 후 레이아웃에 공간을 차지하지 않는다.
  • static이 아닌 가장 가까이 있는 부모/조상 요소를 기준으로 이동(없는 경우 body에 붙는 형태)
.parent {
	position: relative;
}

.absolute-child {
	position: absolute;
	top: 50px;
	left: 50px;
}

 

fixed

fixed : 고정 위치

  • 요소를 일반적인 문서 흐름에서 제거 후 레이아웃에 공간을 차지하지 않는다.
  • 부모요소와 관계없이 viewpoint를 기준으로 이동
  • 스크롤 시에도 항상 같은 곳에 위치한다.
.fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

 

absolute vs relative

<body>
    <div class="parent">
        <div class="absolute">형</div>
        <div class="sibling">동생</div>
    </div>
    <hr>
    <div class="parent">
        <div class="relative">형</div>
        <div class="sibling">동생</div>
    </div>
</body>
<style>
	/* 공통 스타일링 */
    div {
        box-sizing: border-box;
        width: 100px;
        height: 100px;
        border: 1px solid black;
    }
    
    .parent {
        position: relative;
        width: 300px;
        height: 300px;
    }
    
    /* 차이점 확인해보기 */
    .absolute{
        position: absolute;
        top: 100px;
        left: 100px;
        background-color: crimson;
    }
    
    .sibling{
        background-color: deepskyblue;
    }
    
    .relative {
        position: relative;
        top: 100px;
        left: 100px;
        background-color: crimson;
    }
</style>

 

'Web > css' 카테고리의 다른 글

CSS Flexbox  (0) 2021.08.16
CSS Float  (0) 2021.08.16
CSS Display  (0) 2021.08.16
CSS Box model  (0) 2021.08.16
CSS 상속과 단위  (0) 2021.08.16