고정 위치 지정 시 예기치 않은 동작: 하단: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!