Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Posicionamento em listas com links e imagens (display: inline-block)

Durante o curso de HTML5/CSS3 foi mencionado que ao customizar a exibição dos elementos de uma lista com "display: inline-block", fazemos com que a altura da imagem não fique limitada à altura da fonte atual e consegui verificar este comportamento, porém, verifique também que os links ainda possuem a altura menor do que a da imagem (considere o exemplo a seguir).

Considerando um projeto real, tratar também os links para que assumam a mesma altura da imagem é necessário ou isso não causa problemas de posicionamento?

Obrigado :]


HTML

[...]
<ul>
    <li><a href="#"><img src="img1.png" alt="Img 1"></a></li>
    <li><a href="#"><img src="img2.png" alt="Img 2"></a></li>
    <li><a href="#"><img src="img3.png" alt="Img 3"></a></li>
</ul>
[...]

CSS

li {
    display: inline-block;
}
3 respostas

Vai depender muito do projeto Daniel. E lembre-se posicionamento envolve outras propriedades além do display.

Wanderson, como é dependente do tipo de projeto, poderia me dar algum exemplo prático em que causaria e em que não causaria problemas de posicionamento para que eu pudesse entender melhor?

Tenho alguma noção de posicionamento, porém pouca experiência prática, já que trabalho mais com backend, no próprio curso ele aborda algumas dessas opções.

A dúvida específica com o display surgiu por conta do próprio vídeo da aula, em que ele ressalta a importância de deixar as imagens com o mesmo tamanho, porém não os links e fiquei imaginando se isso não poderia quebrar de alguma forma o layout da página.

solução!

Daniel, exemplos práticos eu não estou tendo de cabeça agora, mas deixe-me esclarecer algumas coisas que acho que resolvem sua dúvida.

O que acontece é que temos um elemento que agrupa vários outros, quebras de layout acontecem quando um elemento estrapola os limites do seu elemento conteiner ou fazem com que outro elemento fuja desse conteiner ou do comportamento experado.

Definir o tamanho das imagens não é obrigatório desde que os arquivos delas sejam do mesmo tamanho, mas não é só isso, definir o tamanho das imagens também ajuda o navegador a guardar o espaço requerido para renderizaçao da imagem antes mesmo de saber qual o tamanho real da imagem, isso evita que o navegador precise esperar carregar a imagem para saber qual o espaço que ela vai ocupar.

Mas por que a gente não define tamanho de links? Por que os links, geralmente, assumem o tamanho do elemento que está dentro dele. Isso acontece muito. Não só com links, mas com muitos elementos.

Quando pode ser que talvez seja necessário definir tamanho de links? Quando a estilização do posicionamento do elemento fugir desse comportamento padrão onde o link por si só não consegue assumir o tamanho do elemento. Situações não muito comuns. Exemplo? As vezes acontece isso naqueles sites que tem um botão flutuante no canto da janela com a setinha pra cima, indicando pra voltar pro topo da página.

Definir tamanho de link não é algo obrigatório, existem outras alternativas, que podemos discutir quando podemos a necessidade surgir. :)