据我了解,内联元素通常无法使用CSS width
和height
属性来调整大小。内联img
似乎是一个例外,您可以使用width
和height
调整其大小。
img {
display: inline;
height: 35px; // this works
}
我想了解这是否是专门用于img
标签的东西,或者是否有其他细微差别可以使这项工作生效。
有人可以指出一些描述这种行为的规范或文档吗?
答案 0 :(得分:2)
img
是内联的已替换元素,与span
不同,例如,它是内联的不可替换元素,我们可以定义width /替换元素的高度。这是规范的相关部分,用于定义高度/宽度的行为
https://www.w3.org/TR/CSS2/visudet.html#inline-replaced-width
https://www.w3.org/TR/CSS2/visudet.html#inline-replaced-height
当涉及到不可替换元素时,您会发现:
'width'属性不适用。 ref
“ height”属性不适用。 ref
相同的逻辑适用于转换,我们可以将转换应用于img
而不是span
。
相关:https://stackoverflow.com/a/54227332/8620333
https://developer.mozilla.org/en-US/docs/Web/CSS/Replaced_element
https://html.spec.whatwg.org/multipage/rendering.html#replaced-elements
请注意,在the specification中,还说过内联块替换元素与内联替换元素完全相同,因此使img为inline
或inline-block
不会有什么区别。