>웹 프론트엔드 >CSS 튜토리얼 >'max-height: 100%'가 있는 하위 요소가 'max-height'가 있는 상위 요소를 오버플로하지만 명시적인 높이가 아닌 이유는 무엇입니까?

'max-height: 100%'가 있는 하위 요소가 'max-height'가 있는 상위 요소를 오버플로하지만 명시적인 높이가 아닌 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-24 07:00:14779검색

Why Does a Child Element with `max-height: 100%` Overflow its Parent with `max-height` but Not with an Explicit Height?

최대 높이가 있는 하위 항목 오버플로: 100%

이 조사에서는 예상치 못한 동작을 조사합니다. 즉, 최대 높이가 100으로 설정된 하위 요소입니다. %는 상위 컨테이너가 최대 높이를 사용함에도 불구하고 상위 컨테이너를 오버플로합니다. 그러나 상위 항목에 명시적인 높이가 할당되면 이 오버플로가 방지됩니다.

문제 이해

일반적으로 하위 항목에 대해 max-height가 백분율로 지정되면 요소의 경우 상위 요소의 실제 높이에 대한 백분율을 나타냅니다. 그러나 부모의 명시적인 높이가 없으면 자식의 최대 높이가 정의되지 않아 부모의 최대 높이를 초과할 수 있습니다.

오버플로에 미치는 영향

이 특정 시나리오에서 부모의 최대 높이는 200px이고, 자식의 최대 높이는 100%입니다. 상위 항목에 대해 명시적인 높이가 제공되지 않으면 실제 높이는 정의되지 않은 상태로 유지됩니다. 결과적으로 자식의 최대 높이는 없음으로 계산되어 무한정 커질 수 있습니다. 하위 콘텐츠(너비보다 높이가 큰 이미지)가 상위 콘텐츠의 최대 너비에 맞지 않기 때문에 아래쪽으로 오버플로됩니다.

해결책: 명시적 상위 높이

이 오버플로를 방지하려면 상위 요소에 명시적인 높이(예: 200px)를 제공해야 합니다. 이는 자식의 최대 높이 계산을 위한 명확한 기준점을 설정하여 부모의 실제 키를 초과하지 않고 최대 높이 제약 조건 내에 유지되도록 합니다.

위 내용은 'max-height: 100%'가 있는 하위 요소가 'max-height'가 있는 상위 요소를 오버플로하지만 명시적인 높이가 아닌 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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