본문 바로가기
카테고리 없음

웹 개발자 필수 CSS Position 배치: 웹 페이지 구성 완성하기

by 달달한 따히씨 2024. 4. 3.
728x90

CSS의 position 속성은 웹 페이지에서 HTML 요소를 어떻게 배치할지 결정하는 중요한 속성입니다. 이 속성을 이해하고 올바르게 사용하면 웹 페이지의 레이아웃을 효과적으로 제어할 수 있습니다. SEO 친화적인 방식으로 CSS position 속성에 대해 알아보겠습니다.

 

 

CSS 배치란 무엇일까요?

웹 페이지 디자인에서 CSS Position은 웹 페이지 요소들을 원하는 위치에 배치하는 데 사용되는 중요한 속성입니다. CSS Position을 사용하면 요소를 화면의 특정 위치에 고정하거나, 다른 요소 위에 겹쳐 배치하거나, 자유롭게 이동할 수 있도록 설정할 수 있습니다.

CSS Position은 웹 페이지 디자인의 기본적인 레이아웃을 구성하는 데 필수적인 역할을 하며, 다양한 디자인 효과를 구현하는 데 활용됩니다. 또한, 웹 페이지를 다양한 디바이스에 최적화하는 데에도 중요한 역할을 합니다.

 

CSS position 속성의 기본값과 사용법

  • 기본값 static: position 속성의 기본값은 static입니다. 이 값은 요소를 HTML 문서의 원래 순서대로 배치합니다. static으로 설정된 요소는 top, right, bottom, left 속성의 영향을 받지 않습니다.
  • relative로 설정하기: position을 relative로 설정하면 요소를 원래 위치에서 상대적으로 이동시킬 수 있습니다. 이는 요소의 원래 위치를 기준점으로 하여 top, right, bottom, left 속성을 사용하여 위치를 조정할 수 있음을 의미합니다.

CSS 위치 지정 탐색

CSS 위치 지정을 통해 개발자는 웹 페이지 내에서 HTML 요소의 배치를 정확하게 제어할 수 있습니다. 포함된 요소나 뷰포트를 기준으로 요소 위치를 유연하게 지정할 수 있습니다. CSS 위치 지정의 몇 가지 주요 측면을 살펴보겠습니다.

 

Static 정적 위치 지정: 기본적으로 HTML 요소는 문서의 자연스러운 흐름에 따라 정적으로 위치가 지정됩니다. 이는 요소가 HTML 코드에 나타나는 순서대로 하나씩 배치된다는 의미입니다. 

기본적인 위치이며, 요소는 자연스럽게 문서 흐름에 따라 배치됩니다.

 

Relative 상대 위치 지정: 상대 위치 지정을 통해 개발자는 문서 흐름의 일반 위치를 기준으로 요소의 위치를 ​​조정할 수 있습니다. 이는 위쪽, 아래쪽, 왼쪽 또는 오른쪽과 같은 오프셋을 지정하여 달성됩니다.

요소의 기본 위치를 유지하면서, 상대적인 위치를 변경할 수 있습니다.

 

Absolute 절대 위치 지정: 절대 위치 지정은 문서 흐름에서 요소를 제거하여 해당 요소가 포함된 요소나 뷰포트 내에 정확하게 배치되도록 합니다. 이 위치 지정은 오버레이, 도구 설명 또는 팝업 메뉴를 만드는 데 자주 사용됩니다.

예. 위치 상 부모요소를 기준  요소를 문서 흐름에서 분리하고, 화면의 특정 위치에 고정합니다.

 

Fixed 고정 위치: 고정 위치 지정은 뷰포트를 기준으로 요소의 위치를 ​​지정하여 페이지가 스크롤되는 경우에도 해당 위치에 고정된 상태를 유지합니다. 이는 항상 표시되는 탐색 모음이나 헤더 배너와 같은 요소를 만드는 데 일반적으로 사용됩니다.

 뷰포트(브라우저)를 기준 요소를 브라우저 창에 고정하고, 스크롤해도 화면에서 같은 위치에 유지됩니다.

 

Sticky 고정 위치: 고정 위치는 상대 위치와 고정 위치의 요소를 결합합니다. 요소는 지정된 임계값에 도달할 때까지 상대 위치로 동작하며 그 후에는 고정됩니다. 이는 고정 헤더나 사이드바를 만드는 데 유용합니다.

스크롤 영역 기준 요소를 문서 흐름에 따라 배치하면서, 스크롤 시 특정 위치까지 고정된 후 다시 문서 흐름에 따라 배치됩니다.

 

CSS Position 예시

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>position 요소</title>
    <style>
        .box{
            width: 100px;
            height: 100px;
            background-color: red;
            position: relative;
        }

        span{
            position:absolute;
            top:0;
            left: 0;
            width: 20px;
            height: 20px;
            background-color: blue;
        }
    </style>
</head>
<body>
    <div class="box">
        <span></span>
    </div>
</body>
</html>

 

position 요소