Home >Web Front-end >CSS Tutorial >Why Don't Anchor Tags Inherit Dimensions from Their Parent Containers?
When rendering web pages, the size of anchor tags can be puzzling. Despite being contained within elements with explicit height and width, anchor tags often fail to inherit those dimensions. To clarify this behavior, let's dive into the CSS specifications and explore the mechanics behind it.
According to the CSS 2.1 specification, the dimensions of a box's content area (width and height) are influenced by various factors, including whether the generating element has the 'width' or 'height' property set, the presence of text or other boxes within the box, and table-specific considerations.
For inline, non-replaced elements like anchor tags, the 'height' property is not applicable. Instead, the content area's height is based on the font, as outlined in the CSS specification. In the given example, the anchor tag height is 18px, derived from the single line of text in the image. Neither the image content nor the container's height play a role.
The 'width' property also does not apply to inline, non-replaced elements. The width is dictated by the anchor tag's content, paddings, borders, and margins. For the first anchor tag, the width is calculated as:
Width = content (114px) + left margin (20px) + left and right borders (10px) = 144px
For the second anchor tag:
Width = content (280px) + left margin (20px) + left and right borders (10px) = 310px
Additionally, space handling influences the width calculation. In inline contexts, leading (leftmost) and trailing (rightmost) spaces are discarded, while interstitial spaces are collapsed into a single space. This affects the width calculation by potentially adding space to the anchor tag's width.
The above is the detailed content of Why Don't Anchor Tags Inherit Dimensions from Their Parent Containers?. For more information, please follow other related articles on the PHP Chinese website!