본문 바로가기
Programming/Html & Css

CSS: position

by vita12321 2023. 10. 21.
728x90
반응형

이번 글에서는 개발의 중요한 구성 요소인 'CSS(Cascading Style Sheets)' 대한 이야기를 계속 이어가고자 합니다. 이번에는 CSS 핵심 속성 하나인 'position' 대해 자세히 알아보겠습니다.


1. CSS Position이란?

 

CSS Position 페이지 요소들의 위치를 결정하는 속성입니다. position 속성은 static, relative, absolute, fixed sticky 같은 여러 값으로 설정할 있으며, 각각 다른 위치 지정 방식을 제공합니다.

 

  • Static: 모든 요소의 기본 position 값입니다. 왼쪽 상단에서 시작하여 문서 흐름에 따라 배치됩니다.

  • Relative: 원래 위치를 기준으로 상대적으로 이동합니다.

  • Absolute: 가장 가까운 위치 지정된 (즉, position이 static이 아닌) 부모 요소를 기준으로 절대적인 위치로 배치됩니다.

  • Fixed: 뷰포트를 기준으로 고정된 위치에 배치됩니다.

  • Sticky: 스크롤 시 일정 부분 고정되는 특징을 가집니다.

2. CSS Position 사용법

 

다음 코드 조각은 위의 position 값들을 어떻게 적용할 있는지 보여줍니다:

 

/* Static positioned element */

.static-element {

    position: static;

}

 

/* Relative positioned element */

.relative-element {

    position: relative;

    top: 20px;

    left: 20px;

}

 

/* Absolute positioned element */

.absolute-element {

    position: absolute;

    top: 50px;

    right: 0;

}

 

/* Fixed positioned element */

.fixed-element {

    position: fixed;

    bottom: 0;

    right: 0;

}

 

/* Sticky positioned element */

.sticky-element {

    position: sticky;

    top : 0;

}

 

코드에서 클래스가 지정된 HTML 요소는 해당하는 포지션 값을 갖게 됩니다.


3. CSS Position 작성 주의할

 

CSS Position 활용할 주목해야 가지 포인트들이 있습니다:

 

  • z-index : z-index 속성은 오버랩 되는 요소들 사이의 순서를 결정합니다. z-index는 포지션이 static이 아닌 요소에만 적용됩니다.

 

  • overflow : 부모 엘리먼트에서 overflow 속성값(visible 제외)이 설정된 경우, position 값이 absolute인 자식 엘리먼트는 부모 엘리먼트를 기준으로 위치가 결정됩니다.

 

  • offset properties : top, right, bottom, left 속성은 position 값이 static이 아닌 요소에 적용되며, 해당 요소의 위치를 결정하는 데 사용됩니다.

4. Position 값에 대한 자세한 설명

 

  • Static: 이것은 모든 HTML 요소의 기본 위치입니다. Static으로 설정된 요소는 페이지 흐름에 따라 자연스럽게 배치되며 top, bottom, left, right와 같은 위치 지정 속성을 사용할 수 없습니다.

 

  • Relative: Relative로 설정된 요소는 원래 있어야 할 위치를 기준으로 상대적으로 이동합니다. 이동하는 방향과 거리는 top, bottom, left, right 속성을 통해 지정할 수 있습니다. 이때의 상대 기준점은 자신이 static일 때의 위치입니다.

 

  • Absolute: Absolute로 설정된 요소는 가장 가까운 조상 중 position 값이 static이 아닌 요소를 기준으로 위치가 결정됩니다. 만약 그러한 조상이 없다면 문서의 body를 기준으로 합니다.

 

  • Fixed: Fixed로 설정된 요소는 뷰포트(브라우저 창)를 기준으로 고정되며 스크롤과 상관없이 항상 같은 위치에 유지됩니다.

 

  • Sticky: Sticky로 설정된 요소는 스크롤의 위치에 따라 변화하는 특징을 가집니다. 일반적인 스크롤에서는 relative와 같이 동작하지만, 일정 지점(예를 들어 top : 0)에 도달하면 fixed와 같이 동작하게 됩니다.

5. 결론

 

CSS Position 속성은 페이지 내에서 개별적인 HTML 요소들의 배치를 정확하게 제어하는 매우 중요한 역할을 합니다. 각각의 position 값들은 고유한 특징과 사용법을 가지고 있으므로 어떤 상황에서 어떤 값을 사용해야 하는지 파악하고 활용해야 합니다.

 

CSS Position만큼 중요한 것은 그것을 올바르게 적용하기 위해 필요한 다른 CSS 속성들입니다. z-index overflow 등과 같은 속성들도 함께 숙지하여야 원하는 결과를 얻을 있습니다.

 

그러나 CSS Position만으로는 복잡한 페이지 레이아웃을 구현하기 어렵습니다. Flexbox Grid 같은 최신 CSS 레이아웃 시스템도 함께 익혀두시면 보다 다양하고 복잡한 레이아웃 구현에 유용합니다.

 

개발자라면 CSS Position 대한 확실한 이해가 필수입니다. 이러한 지식과 실력, 그리고 앞서 소개된 팁들을 바탕으로 보다 완성도 있는 페이지를 만드는데 도움이 것입니다.

728x90
반응형

 

728x90
반응형

'Programming > Html & Css' 카테고리의 다른 글

CSS: CSS 핵심 속성  (1) 2023.10.23
CSS: display  (0) 2023.10.22
CSS: CSS Box Model  (0) 2023.10.20
CSS: CSS 작성 팁  (1) 2023.10.19
CSS: CSS 속성들  (0) 2023.10.18