为什么 img 标签接受 margin-top 属性?

Why does the img tag accept the margin-top property?

我想知道为什么 img 标签接受 margin top 属性? 这不是内联标签吗?内嵌标签不接受上下边距?

这是因为 img 是一个内联 replaced 元素并且它确实接受 margin-top。它的行为不同于内联 非替换 元素(例如 span)。

规范的相关部分对此进行了详细说明:https://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height

请注意,与边距相关的限制或特殊行为与非替换内联元素不同,您可以在其中阅读:

The vertical padding, border and margin of an inline, non-replaced box start at the top and bottom of the content area, and has nothing to do with the 'line-height'. But only the 'line-height' is used when calculating the height of the line box.

width/height 的逻辑相同。他们使用 img 但不使用 span.

另一个有关 transform 的相关问题适用相同的逻辑:CSS transform doesn't work on inline elements