Wie man zusätzlichen Raum unter Svg im div Element loswird
Ist hier eine Abbildung des Problems (getestet in Firefox und Chrome):
<div style="background-color: red;"><svg height="100px" width="100" style="background-color: blue;"></svg></div>
Beachten Sie die extra red
Raum innerhalb der div
unterhalb der blauen svg
.
Schon versucht die Einstellung padding
und margin
beider Elemente zu 0
aber ohne Glück.
InformationsquelleAutor der Frage Daniel | 2014-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
display: block;
auf Ihresvg
.Dies ist, weil inline-block-Elemente (wie
<svg>
und<img>
) setzen sich auf die text-Grundlinie. Der zusätzliche Raum, den Sie sehen, ist der Raum, um Platz für Charakter-absteiger (den Schwanz auf 'y', 'g', etc).Können Sie auch
vertical-align:top
wenn Sie brauchen, um es zu halteninline
oderinline-block
InformationsquelleAutor der Antwort Andy
svg
ist eininline
element.inline
Elemente lassen white-space.Lösung:
Hinzufügen
display:block
zusvg
oder machen Sie die Höhe des übergeordneten div gleichen wiesvg
.DEMO hier.
InformationsquelleAutor der Antwort Hiral
Ändern Sie die
display
- Eigenschaft des svg zu werdenblock
.InformationsquelleAutor der Antwort Malachi
einfach fügen Höhe an Haupt-div-element
InformationsquelleAutor der Antwort Farshad
Versuchen Sie
height:100px
zudiv
und mit einemheight="100%"
aufsvg
:InformationsquelleAutor der Antwort danrodi
Andere alternative ist, fügen Sie
font-size: 0
zusvg
Eltern.InformationsquelleAutor der Antwort Ângelo Lucas