Aqui está uma ilustração do problema (testado no Firefox e Chrome):
<div style="background-color: red;"><svg height="100px" width="100" style="background-color: blue;"></svg></div>
Observe o red
espaço extra dentro do div
abaixo do azul svg
.
Já tentei configuração padding
e margin
de ambos os elementos para 0
, mas sem sorte.
Respostas:
Você precisa
display: block;
do seusvg
.<svg style="display: block;"></svg>
Isso ocorre porque os elementos do bloco embutido (como
<svg>
e<img>
) ficam na linha de base do texto. O espaço extra que você está vendo é o espaço deixado para acomodar descendentes de caracteres (a cauda em 'y', 'g' etc).Você também pode usar
vertical-align:top
se precisar mantê-loinline
ouinline-block
fonte
inline-block
elementos (como<svg>
e<img>
) ficam na linha de base do texto. O espaço extra que você está vendo é o espaço que resta para acomodar descendentes de caracteres (a cauda em 'y', 'g' etc).vertical-align:top
line-height
, mas definirline-height: 0
o SVG e / ou seu contêiner não fez diferença. Apenasdisplay: block
resolvido. Isso é um problema se você estiver trabalhando em um SVG grande porque nunca pensaria nele como embutido. Se você tiver um pequeno ícone, porém, faz sentido.display: block
não funcionou para mim, masvertical-align
funcionousvg
é uminline
elemento.inline
os elementos deixam o espaço em branco.Solução:
Adicionar
display:block
parasvg
, ou fazer altura do pai Div mesmasvg
.DEMO aqui.
fonte
Outra alternativa é adicionar
font-size: 0
asvg parent
.fonte
Altere a
display
propriedade do svg para serblock
.fonte
Tente adicionar
height:100px
adiv
e usando umheight="100%"
onsvg
:<div style="background-color:red;height:100px"> <svg height="100%" width="100" style="background-color:blue;"></svg> </div>
fonte
svg
avanço.simplesmente adicione a altura ao elemento div principal
<div style="background-color: red;height:100px"><svg height="100px" width="100" style="background-color: blue;"></svg></div>
fonte
Mude seu estilo para
estilo = "cor de fundo: vermelho; altura da linha: 0;"
fonte