これが問題の実例です(FirefoxとChromeでテスト済み):
<div style="background-color: red;"><svg height="100px" width="100" style="background-color: blue;"></svg></div>
青redのdiv下の内側の余分なスペースに注意してくださいsvg。
paddingとmargin両方の要素をに設定しようとしまし0たが、運がありませんでした。
これが問題の実例です(FirefoxとChromeでテスト済み):
<div style="background-color: red;"><svg height="100px" width="100" style="background-color: blue;"></svg></div>
青redのdiv下の内側の余分なスペースに注意してくださいsvg。
paddingとmargin両方の要素をに設定しようとしまし0たが、運がありませんでした。
回答:
あなたは必要とするdisplay: block;あなたにsvg。
<svg style="display: block;"></svg>
これは、インラインブロック要素(<svg>およびなど<img>)がテキストベースライン上にあるためです。表示されている余分なスペースは、文字の子孫( 'y'、 'g'などのテール)を収容するために残されたスペースです。
あなたがvertical-align:topそれを保持する必要がある場合にも使用できますinlineまたはinline-block
inline-block要素(<svg>およびなど<img>)がテキストベースライン上にあるということです。表示されている余分なスペースは、文字の子孫( 'y'、 'g'などのテール)を収容するために残されたスペースです。
vertical-align:top
line-heightがline-height: 0、svgやそのコンテナーを設定しても違いはありませんでした。display: blockそれを解決しただけです。これは、大きなSVGで作業している場合、インラインとは考えられないため、このような落とし穴です。ただし、小さなアイコンがある場合は、それは理にかなっています。
display: block私にvertical-alignはうまく