SVG和SVG的父高度不同

Vij*_*iji 4 html svg dom

我在页面中height: 50px;div(未指定样式)中有 SVG 元素 ( ) 。但是,height父 div的值5px与 SVG 不同。

<div id="parentele">
    <svg id="svgele" style="height:50px"></svg>     
</div>
Run Code Online (Sandbox Code Playgroud)

我得到的$('#parentele').height() 是 55并且$('#svgele').height() 是 50。如果我使用divelement 而不是 SVG,则高度将相同。我可以知道 SVG 情况下 5px 差异的原因吗?

谢谢,维吉

Eli*_*lka 6

SVG 元素是内联元素,用于呈现文本,因此元素下方(基线下方)为字母降序保留了一些空间。

您可以通过多种方式解决此问题:

  1. 将其更改为块级元素

    svg {
        display: block;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 浮动元素

    svg {
        float: left;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 消除容器的行高

    #parentele {
        line-height: 0;
    }
    
    Run Code Online (Sandbox Code Playgroud)

将其与参考演示进行比较。