>웹 프론트엔드 >CSS 튜토리얼 >고정 포지셔닝의 'bottom: 0'이 예상과 반대로 작동하는 이유는 무엇입니까?

고정 포지셔닝의 'bottom: 0'이 예상과 반대로 작동하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-26 18:37:11154검색

Why Does `bottom: 0` in Sticky Positioning Act Opposite to Expectations?

고정 위치 지정 시 예기치 않은 동작: 하단: 0

CSS 위치 속성을 탐색할 때 개발자는 하단을 지정할 때 예기치 않은 동작에 직면할 수 있습니다. 고정 위치 지정의 경우 0입니다. MDN 문서에 따르면 고정 요소는 처음에는 지정된 임계값이 충족될 때까지 상대 위치 요소로 처리되며, 그 시점에서 고정 위치로 전환됩니다. 그러나 Bottom: 0이 지정되면 반대 동작이 발생합니다.

예상 동작 대 실제 동작

MDN 문서에서는 Bottom: 0이 있는 요소가 뷰포트 아래에 있으면 상대적이고 위에 있으면 고정됩니다. 그러나 실제 동작은 반대입니다. 요소는 뷰포트 아래에 있을 때 고정되고 그 위에 있을 때 상대적입니다.

설명

이 불일치는 MDN 문서의 표현에서 비롯됩니다. . 고정 요소는 임계값을 초과할 때까지 상대 요소로 처리되며 반드시 상대 요소로 시작할 필요는 없습니다. 하단: 0의 경우 요소가 뷰포트 하단 아래에서 시작되므로 시작부터 임계값이 효과적으로 초과됩니다. 따라서 요소는 고정된 것으로 시작하고 시작 지점을 넘어 스크롤하면 상대적이 됩니다.

예시 그림

다음 HTML 및 CSS 코드를 고려하세요.

<body>
.a {
  margin-top: auto;
  position: sticky;
  bottom: 0;
}

.b {
  position: sticky;
  top: 0;
}

이 예에서 요소 A는 상대 요소로 시작하고 아래로 스크롤하면 고정됩니다. 반면에 요소 B는 고정으로 시작하여 위로 스크롤하면 상대적이 됩니다. 이 동작은 위에서 설명한 실제 동작과 일치합니다. 여기서 하단: 0은 처음에 위치가 고정됩니다.

위 내용은 고정 포지셔닝의 'bottom: 0'이 예상과 반대로 작동하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.