Estou tentando exibir algumas imagens grandes com tags HTML img. No momento, eles saem da borda da tela; como posso escalá-los para permanecer na janela do navegador?
Ou, na eventualidade de isso não ser possível, é possível dizer pelo menos "exibir esta imagem em 50% de sua largura e altura normais"?
Os atributos de largura e altura distorcem a imagem - pelo que eu posso dizer, isso ocorre porque eles se referem a quaisquer atributos que o contêiner possa ter, que não estarão relacionados à imagem. Não posso especificar pixels porque tenho que lidar com uma grande coleção de imagens, cada uma com um tamanho de pixel diferente. A largura máxima não funciona.
html
image-scaling
Rwallace
fonte
fonte
Respostas:
Defina apenas o
width
ouheight
, e o outro será dimensionado automaticamente. E sim, você pode usar uma porcentagem.A primeira parte pode ser feita, mas requer JavaScript, portanto, pode não funcionar para todos os usuários.
fonte
css é o suficiente:
fonte
Eu sei que esta pergunta foi feita há muito tempo, mas a partir de hoje uma resposta simples é:
O uso de vw aqui indica que a largura é relativa a 55% da largura da janela de visualização.
Todos os principais navegadores hoje em dia suportam isso.
Verifique este link .
fonte
vw
foi um salva-vidas para mim, os outros métodos não funcionaram para a imagem em questão.Não é necessário Javascript.
IE6 Internet Explorer 6
Porcentagem funciona apenas para a largura de um elemento, mas
height:100%;
não funciona sem o código correto.CSS
Então, o uso de uma porcentagem funciona corretamente e é atualizado dinamicamente no redimensionamento da janela.
Você não precisa de um atributo de largura, a largura é dimensionada proporcionalmente à medida que o tamanho da janela do navegador é alterado.
E esta pequena joia, caso a imagem seja ampliada, ela não ficará (excessivamente) em blocos (ela interpola).
Os adereços vão para esta fonte: Ultimate IE6 Cheatsheet: How To Fix 25+ Internet Explorer 6 Bugs
fonte
Adicionar
max-width: 100%;
àimg
tag funciona para mim.fonte
Acho que a melhor solução é redimensionar as imagens via script ou localmente e fazer o upload novamente. Lembre-se de que você está forçando seus visualizadores a baixar arquivos maiores do que precisam
fonte
A melhor maneira que conheço de fazer isso é:
1) defina o estouro para rolar e dessa forma a imagem permaneceria, mas você pode rolar para vê-la
2) faça upload de uma imagem menor. Agora, há uma abundância de programas por aí durante o upload (você precisará de algo como PHP ou .net para fazer isso btw), você pode fazer com que seja escalonado automaticamente.
3) Vivendo com ele e definindo a largura e altura, embora isso fará com que pareça distorcido, mas o tamanho certo ainda fará com que o usuário tenha que baixar a imagem em tamanho real.
Boa sorte!
fonte