Sticky Elements 및 Flexbox: 문제
특정 CSS 구성으로 인해 예상치 못한 동작이 발생할 수 있습니다. 이러한 시나리오 중 하나는 위치를 결합할 때 발생합니다: 고정과 flexbox. 처음에는 고정 요소가 지정된 스크롤 위치에 도달할 때까지 정체된 상태로 유지되지만 Flexbox 컨테이너 내에 배치되면 이 동작이 중단됩니다.
문제
문제는 기본 Flexbox 동작. 기본적으로 Flexbox 컨테이너 내의 모든 요소는 사용 가능한 공간에 맞게 늘어납니다. 결과적으로 Flexbox 컨테이너가 스크롤을 방지하기 때문에 고정 요소는 의도한 기능을 잃게 됩니다.
해결책
이 문제를 해결하려면 align-self: flex-start를 추가하세요. 끈끈한 요소에 대한 속성입니다. 이렇게 하면 고정 요소의 높이가 자동으로 설정되어 콘텐츠가 자연스럽게 흐르고 스크롤이 가능해집니다.
브라우저 호환성
Safari가 있지만 대부분의 주요 브라우저가 이 솔루션을 지원합니다. -webkit- 접두어를 사용해야 합니다:
.flexbox-wrapper { display: flex; } .sticky { position: -webkit-sticky; /* for Safari */ position: sticky; top: 0; align-self: flex-start; /* fix */ }
Firefox는 align-self를 지원하지 않습니다. flex-start 속성을 사용하면 position:sticky와 동일한 스크롤 문제가 발생하지 않습니다. 또한 위치: 고정은 아직 모든 브라우저의 테이블에 대해 완전히 지원되지 않습니다. 특히 특정 브라우저 요구 사항을 충족할 때는 주의하는 것이 좋습니다.
위 내용은 내 고정 요소가 Flexbox 컨테이너 내부에 달라붙지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!