Child with max-height: 100% Exceeds Parent Height
In an unexpected scenario, a child element with max-height: 100% overflows its container, despite the container also having a max-height. This discrepancy arises when the container height is not explicitly defined.
Delving into the Explanation
When specifying max-height on a child element as a percentage, it refers to the actual height of the parent, not its max-height. In the absence of an explicit container height, this percentage calculation yields none, effectively allowing the child to grow indefinitely.
The child's only remaining constraint is its parent's max-width. As the image is taller than it is wide, it overflows the container's height to maintain its aspect ratio while maximizing its size.
Resolving with Explicit Parent Height
When the parent's height is explicitly defined, the child's max-height is correctly constrained to 100% of the specified value. This ensures the child remains within the container's height while still adhering to its aspect ratio. Thus, setting an explicit parent height is necessary to prevent the child from overflowing its parent when using max-height: 100%.
The above is the detailed content of Why Does a Child Element with `max-height: 100%` Overflow Its Parent When the Parent's Height Isn't Explicitly Defined?. For more information, please follow other related articles on the PHP Chinese website!