이 기사는 CSS 포지셔닝의 복잡성을 탐구하고 각 방법 (정적, 상대, 절대, 고정 및 스티커)을 설명하고 주요 차이점과 실제 응용 프로그램을 강조합니다.
CSS 포지셔닝은 요소가 컨테이너 내에 위치하고 문서 흐름이 어떻게 배치되는지 결정합니다. 5 가지 주요 포지셔닝 컨텍스트가 있습니다.
static
: 이것은 기본 위치입니다. 요소는 일반 문서 흐름에 따라 위치됩니다. top
, right
, bottom
또는 left
속성의 영향을받지 않습니다. 본질적으로, 그들은 자연스럽게 HTML 구조에 나타날 곳에 앉아 있습니다.relative
: 요소는 정상 위치 와 관련하여 위치됩니다. top
, right
, bottom
및 left
속성은 유량의 원래 위치에서 요소를 상쇄합니다. 중요하게도, 요소는 여전히 흐름에서 원래 공간을 차지하는데, 이는 다른 요소가 그 주위에 흐르지 않는다는 것을 의미합니다. 이것은 레이아웃을 방해하지 않고 미묘한 조정에 유용합니다.absolute
: 요소는 가장 가까운 위치 조상 에 비해 배치됩니다. 조상이 배치되지 않은 경우 초기 포함 블록 (일반적으로
요소)에 비해 배치됩니다. 일반 문서 흐름에서 제거됩니다. 다른 요소가 그 주위에 흐릅니다. top
, right
, bottom
및 left
속성은 포함 요소 내의 위치를 결정합니다.fixed
: absolute
와 유사하게 요소는 일반 문서 흐름에서 제거됩니다. 그러나 뷰포트 (브라우저 창)에 비해 배치됩니다. 페이지가 스크롤 된 경우에도 같은 위치에 있습니다. 이것은 일반적으로 고정 헤더 또는 사이드 바에 사용됩니다.sticky
: 이것은 relative
이고 fixed
하이브리드입니다. 요소는 지정된 임계 값 (일반적으로 top
, bottom
, left
또는 right
사용하여 정의 됨)을 가로 지르기 전까지는 relative
으로 작동하며,이 시점에서 fixed
됩니다. 사용자가 특정 지점을 스크롤하면 뷰포트 상단을 고수하는 헤더 또는 내비게이션 막대를 만드는 데 매우 유용합니다.핵심 차이는 포지셔닝 컨텍스트에 있습니다.
relative
: 문서 흐름 내에서 자체 정상 위치 에 대한 요소를 위치시킵니다. 원래 공간을 유지하므로 다른 요소는 영향을받지 않습니다. 기본 위치에서 요소를 약간 바꾸는 것으로 생각하십시오.absolute
: 가장 가까운 위치 조상 (또는 조상이없는 경우 초기 포함 블록)에 대한 요소를 위치시킵니다. 일반 문서 흐름에서 제거되어 다른 요소가 주위를 감싸게됩니다. 이렇게하면 컨테이너 내에서 정확한 위치 지정이 가능하지만 조심스럽게 관리하지 않으면 전체 레이아웃을 방해 할 수 있습니다. 끈적 끈적한 헤더를 만들려면 position: sticky;
헤더 요소에 속성 및 top
속성을 사용하여 임계 값을 정의하십시오. 예를 들어:
<code class="css">header { position: sticky; top: 0; /* Sticks to the top of the viewport once the user scrolls past the top of the header */ background-color: #f0f0f0; padding: 10px; }</code>
이 코드는 사용자가 초기 위치를 지나면 헤더가 뷰포트의 맨 위에 남아 있도록합니다. "스틱"지점을 제어하기 위해 top
값을 조정할 수 있습니다. 끈적 끈적한 요소는 top
속성이 뷰포트에 비해 올바르게 작동하기 위해서는 위치가있는 조상 (반드시 position: sticky
필요하지는 않지만)이 필요하다는 것을 기억하십시오.
static
: 이것은 기본값이며 명시적인 선언이 거의 필요하지 않습니다. 문서 내에서 자연스럽게 흐르는 요소에 사용됩니다. 예 : 단락, 제목 및 대부분의 기타 컨텐츠 요소.relative
: 레이아웃을 방해하지 않고 작은 조정에 유용합니다. 예 : 시각적 매력을 향상시키기 위해 이미지 또는 텍스트 요소를 약간 상쇄합니다.absolute
: 고정 폭 레이아웃 내의 툴팁, 팝업 또는 요소와 같은 컨테이너 내에 요소를 정확하게 위치시키는 데 이상적입니다. 예 : 중앙 컨테이너 내에 로그인 양식을 배치합니다.fixed
: 탐색 막대, 영구 사이드 바 또는 채팅 창과 같이 스크롤에 관계없이 눈에 띄는 요소에 적합합니다. 예 : 화면 하단에 항상 유지되는 고정 헤더 또는 "뒤로 상단"버튼.sticky
: 특정 지점을 스크롤 한 후 뷰포트 상단에 고수하는 헤더 또는 내비게이션 바를 만드는 데 탁월합니다. 예 : 사용자가 페이지를 아래로 스크롤 할 때 고정되는 탐색 표시 줄.요약하면, CSS 포지셔닝의 뉘앙스를 이해하는 것은 반응적이고 잘 구조화 된 웹 레이아웃을 만드는 데 중요합니다. 적절한 포지셔닝 방법을 선택하는 것은 설계의 특정 요구 사항과 원하는 요소의 원하는 동작에 따라 다릅니다.
위 내용은 CSS 포지셔닝은 어떻게 작동합니까 (정적, 상대, 절대, 고정, 끈적 끈적한)?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!