Alinhando imagens com texto
-
19-09-2019 - |
Pergunta
Eu quero centralizar alinhado uma imagem de altura de 18px com texto ao lado. Aqui está o código que eu uso:
<div style="line-height:18px; font-size:12px;">
<img src="somepic.jpg" style="height:18px; vertical-align:middle;">Some text here
</div>
Com esse código, o contêiner Div é renderizado com uma altura de 19px em vez de 18px e o texto não está centrado na imagem. Eu tentei no Safari 4 e no Firefox 3.6. Qual é a razão para isso 1 px?
Obrigado
Solução
- Não se esqueça de redefinir os estilos (margem/preenchimento): div, img, span {margem: 0; preenchimento: 0; borda: 0}
- Para que o alinhamento vertical funcione, seus elementos devo eu embutido.
- Uma escolha clássica para alinhar o texto verticalmente é fornecer uma altura de linha igual ao contêiner.
Por exemplo :
<div><img src="somepic.jpg" style="height:18px; vertical-align:middle;"><span style="line-height:18px;">Some text here</span></div>
Outras dicas
Talvez você tenha uma fronteira em algum lugar lá, precisa se livrar ou definir com largura zero?
Não tenho certeza de que entendi qual é o problema aqui, mas se é apenas que a imagem é alguns pixels de onde você gostaria que fosse, então por que você não apenas posiciona a imagem relativamente. por exemplo:
<div style="line-height:18px; font-size:12px;">
<img src="somepic.jpg" style="height:18px; vertical-align:middle; position: relative; bottom: 2px;">Some text here
</div>
Isso mudará a imagem por 2px de onde estava originalmente.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow