Isso me frustra há anos. Minha correção CSS define uma imagem de plano de fundo no img
. Quando uma imagem dinâmica src
não é carregada em primeiro plano, um espaço reservado é visível na img
BG. Isso funciona se as imagens têm um tamanho padrão (por exemplo height
, min-height
, width
e / ou min-width
).
Você verá o ícone de imagem quebrada, mas é uma melhoria. Testado no IE9 com sucesso. O iOS Safari e o Chrome nem mostram um ícone quebrado.
.dynamicContainer img {
background: url('/images/placeholder.png');
background-size: contain;
}
Adicione um pouco de animação para dar src
tempo para carregar sem um piscar de fundo. O Chrome desvanece-se suavemente no fundo, mas o Safari da área de trabalho não.
.dynamicContainer img {
background: url('/images/placeholder.png');
background-size: contain;
-webkit-animation: fadein 1s;
animation: fadein 1s;
}
@-webkit-keyframes fadein {
0% { opacity: 0.0; }
50% { opacity: 0.5; }
100% { opacity: 1.0; }
}
@keyframes fadein {
0% { opacity: 0.0; }
50% { opacity: 0.5; }
100% { opacity: 1.0; }
}