> 웹 프론트엔드 > CSS 튜토리얼 > CSS의 고정 위치 상위/하위 요소에서 `overflow:hidden`이 작동하지 않는 이유는 무엇입니까?

CSS의 고정 위치 상위/하위 요소에서 `overflow:hidden`이 작동하지 않는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-05 12:17:11
원래의
466명이 탐색했습니다.

Why Doesn't `overflow: hidden` Work on Fixed Positioned Parent/Child Elements in CSS?

Overflow:hidden 위치가 지정된 상위/하위 요소에 효과적이지 않음: 문제인가 아니면 설계에 따른 것인가?

CSS에서 Overflow:hidden 속성은 숨깁니다. 컨테이너 요소의 경계를 넘어 확장되는 콘텐츠입니다. 그러나 고정된 하위 요소가 있는 고정으로 배치된 요소에서 이 속성을 활용하려고 하면 예기치 않은 동작이 발생합니다. 예상되는 오버플로 잘림이 발생하지 않습니다.

예:

.parent {
  position: fixed;
  overflow: hidden;
  width: 300px;
  height: 300px;
  background: #555;
}
.children {
  position: fixed;
  top: 200px;
  left: 200px;
  width: 150px;
  height: 150px;
  background: #333;
}
로그인 후 복사

설명:

이 문제는 CSS의 제한:overflow:hidden은 요소의 흐름 내에서 콘텐츠를 효과적으로 숨기는 것뿐입니다. position:fixed와 같이 위치 지정된 요소는 일반 흐름에서 제거되며 오버플로 처리에 참여하지 않습니다.

대체 솔루션: CSS Clip 속성

To 배치된 요소에서 원하는 오버플로 클리핑 동작을 얻으려면 클립 속성을 사용하는 것이 좋습니다. 요소 내에서 표시되거나 숨겨진 직사각형 영역을 정의할 수 있습니다.

예:

.parent {
  position: fixed;
  clip: rect(0px, 300px, 300px, 0px);
  width: 300px;
  height: 300px;
  background: #555;
}
로그인 후 복사

주의:

  • 상위 요소의 위치는 정적이거나 위치일 수 없습니다. 상대.
  • 직사각형 좌표는 백분율을 지원하지 않습니다('자동' 제외).
  • IE 및 Chrome과 같은 특정 브라우저에서는 하위 요소의 위치 지정 제한이 있을 수 있습니다.

추가 고려 사항:

  • 뒷면 가시성 추가: 숨김; 하위 요소 위치 지정 및 CSS3 변환 처리를 개선합니다.
  • 모바일 브라우저와 이전 버전에서는 클립 속성에 대한 지원이 제한될 수 있습니다.

위 내용은 CSS의 고정 위치 상위/하위 요소에서 `overflow:hidden`이 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿