这个简单的html:
<div style="background:blue">
<svg width="40" height="40" style="background:red"></svg> some text
</div>
&#13;
你可以看到svg是40px
但是周围的div是44px
高(在chrome上测试)。
为什么。如何使周围的div尊重SVG的大小,而不在周围的div上显式height
并将布局svg+text
保持在一行中?
答案 0 :(得分:5)
这里的svg
元素有display: inline
,因此被视为文本。因此,它还观察line-height
属性,该属性控制每行获得多少额外的垂直空间。出于可读性原因,我们不能直接将线路连接在一起。
切换到display: block
上的svg
会使div
完全匹配,就像line-height: 0
上设置div
一样。