Programming/Html & Css

CSS: CSS 핵심 속성

vita12321 2023. 10. 23. 08:02
728x90
반응형

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


1. CSS Position이란 무엇일까?

 

CSS Position 페이지 요소들의 위치를 결정하는 중요한 속성입니다. , HTML 요소가 화면에서 어디에 위치할 것인지를 지정합니다. position 속성은 static, relative, absolute, fixed, sticky 다양한 값으로 설정할 있으며 각각 다른 위치 배치 방식을 제공합니다.

 

  • Static: 이것은 position 속성의 기본값입니다. static으로 설정된 요소는 문서 흐름을 따르며 top, right, bottom, left 및 z-index 속성이 적용되지 않습니다.

 

  • Relative: relative로 설정된 요소는 static 위치를 기준으로 상대적으로 배치됩니다. top, right, bottom 및 left 속성을 사용하여 원래 위치에서 이동할 수 있습니다.

 

  • Absolute: absolute로 설정된 요소는 가장 가까운 조상 요소(relative 혹은 absolute 혹은 fixed)를 기준으로 상대적인 위치가 조정되며 문서 흐름에서 벗어납니다.

 

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

 

  • Sticky: sticky로 설정된 요소는 스크롤 영역 내에서 일정 부분 고정되어 보입니다.

2. CSS Position 사용법

 

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

 

/* Static position */

.static-element {

    position: static;

}

 

/* Relative position */

.relative-element {

    position: relative;

    top: 20px; /* Relative to its original position */

    left: 20px; /* Relative to its original position */

}

 

/* Absolute position */

.absolute-element {

    position: absolute;

    top: 20px; /* Relative to the nearest positioned ancestor (instead of positioned relative to the viewport like fixed). */

    right: 20px; /* Relative to the nearest positioned ancestor (instead of positioned relative to the viewport like fixed). */

}

 

/* Fixed Position */

 

.fixed-element {

 

position :fixed;

 

top :0;

 

right :0;

 

}

 

 

/* Sticky Position */

 

.sticky-element {

 

position :sticky;

 

top :0;

 

}

 

 

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


3. CSS Position 작성 주의할

 

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

 

  • Z-index: position 속성과 함께 사용되는 z-index 속성은 요소들 간의 쌓임 순서를 결정합니다. 높은 값일수록 위에 쌓입니다.

 

  • Overflow: 부모 요소의 크기를 벗어나는 자식 요소의 보여짐 여부를 결정하는 속성입니다. visible, hidden, scroll, auto 등의 값을 가질 수 있습니다.

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

 

  • Static: 웹 페이지 내에서 일반적으로 표시되는 위치에 배치됩니다. 이것은 position 속성의 기본값이며, 문서 흐름을 따르고 top, right, bottom 및 left 및 z-index 속성이 적용되지 않습니다.

 

  • Relative: 원래 위치로부터 상대적으로 이동하며, top, right, bottom 및 left 속성을 사용하여 위치를 조정할 수 있습니다.

 

  • Absolute: 가장 가까운 위치 지정 조상(absolute 혹은 relative로 지정된 요소)으로부터 상대적으로 이동하며 문서 흐름에서 벗어납니다.

 

  • Fixed: 뷰포트를 기준으로 항상 동일한 위치에 고정되며 스크롤과 상관없이 그 자리를 유지합니다. 이는 주로 네비게이션 바나 사이드바와 같은 요소에 사용됩니다.

 

  • Sticky: 스크롤 영역 내에서 일정 부분 고정되어 보입니다. sticky는 특정 범위 내에서만 작동하며, 그 범위를 벗어나면 원래의 위치로 돌아갑니다. 이 속성은 스크롤 시 특정 요소를 화면 내에 고정시키고 싶을 때 유용합니다.

5. 결론

 

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

 

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

 

그러나 CSS Position만으로는 복잡한 페이지 레이아웃을 구현하기 어렵습니다. 이외에도 display, float 다양한 CSS 속성과 기법들도 함께 익혀두어야 합니다.

 

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

 

마지막으로, CSS Position 사용하면서 특정 요소의 위치를 조정하는 것은 간단할 있지만, 전체적인 레이아웃을 고려하면서 개별 요소의 위치를 결정하는 것은 복잡할 있습니다. 따라서 실제 웹사이트 개발 시에는 다른 레이아웃 기법(Flexbox, Grid ) 함께 사용하여 효율적인 레이아웃 구조를 설계해야 합니다.

728x90
반응형

 

728x90
반응형