Home > Article > Web Front-end > Why Do Empty Inline-Block Elements Gain Height When the Container is Hidden?
Why Does Inline-Block Cause Empty Div to Gain Height with Hidden Container?
When an empty
Inline-Block and Line Height
One key aspect of inline-block is that it affects line-height calculations. In an inline context, elements align either by their bottoms, tops, or text baselines. Inline-block elements, being part of inline formatting, have their height calculated based on their line-height, rather than just their margin box as with block elements.
Empty Inline-Block's Height Issue
When an inline-block element is empty, it inherits the basic line-height of its parent, which is typically based on its font characteristics. Even though the inline-block has no content, it still attempts to establish a line-height using the assigned font, resulting in a non-zero height.
Quick Fix: Reset Line-Height
To address this height discrepancy, a wrapper can be used to explicitly set font-size: 0, which effectively removes any font-related calculations and eliminates the line-height. Subsequently, the font-size can be restored within the inline-block to allow for content without triggering the height issue.
Update: Determining Inline-Block Height
Despite extensive documentation, the intrinsic height of an empty inline-block remains an enigma. However, through observation and testing, certain patterns have emerged. Inline-block elements seem to reserve a minimum line space, likely based on the inherited line-height of their parent.
In summary, while inline-block offers advantages for specific layouts, the reservation of minimum height in empty inline-blocks can require additional consideration to prevent unwanted gaps.
The above is the detailed content of Why Do Empty Inline-Block Elements Gain Height When the Container is Hidden?. For more information, please follow other related articles on the PHP Chinese website!