Faire une image de remplissage div complètement sans l'étirer

J'ai de grandes images de dimensions variables que nécessaire pour remplir complètement 240px par 300px conteneurs dans les deux dimensions. Voici ce que j'ai en ce moment, qui ne fonctionne que pour une seule dimension:

http://jsfiddle.net/HsE6H/

HTML

<div class="container">
    <img src="http://placehold.it/300x1500">
</div>
<div class="container">
    <img src="http://placehold.it/1500x300">
</div

CSS

.container {
height: 300px;
width: 240px;
background-color: red;
float: left;
overflow: hidden;
margin: 20px;
}

img {
max-width: 100%;
height: auto;
}

Les proportions devrait rester la même. Essentiellement, à l'échelle des images doit être coupée dans la largeur, tandis que les images doivent être coupés à la hauteur. Donc, juste de zoomer autant que nécessaire pour remplir le récipient.

Ne sais pas pourquoi je ne peux pas le faire fonctionner, j'ai besoin de JavaScript pour cela?

Edit: Pour être clair. J'ai besoin de tout ce rouge sur le violon disparu. Les images sont dynamiques, donc je ne peux pas utiliser le fond des images. Je suis ouvert à l'aide de JavaScript. Merci! 🙂

  • ce n'est pas sûr de la croix-prise en charge du navigateur - jsfiddle.net/HsE6H/2
  • Désolé, pourraient ne pas avoir été clair: j'ai besoin de l'image pour remplir l'ensemble de la div, de sorte que tous les "rouges" disparaît. Des idées? 🙂
  • Vous ne serez pas en mesure de prendre des "grandes images de dimensions variables" et s'adapter parfaitement à un conteneur de dimensions fixes sans mise à l'échelle les deux axes à différents ratios. Si vous redimensionnez une image proportionnellement, puis les proportions de la source sera la même que celle de la cible.
  • Comme Blaise Swanwick a dit qu'il n'est pas possible que par css vous avez besoin de redimensionner les images à l'aide de certains de côté de serveur de code et de manipulation de l'image de la bibliothèque.
  • Des idées comment aller à ce sujet? Très ouvert à des solutions de JS.
  • On dirait que vous êtes à la recherche de l'objet de l'ajustement de la propriété, mais seulement 1 navigateur prend en charge: dev.opera.com/articles/view/css3-object-fit-object-position
  • Double Possible de stackoverflow.com/questions/1891857/...
  • ce n'est pas faire le travail pour vous ? jsfiddle.net/HsE6H/181 coupe de l'image trop large ou trop haut

InformationsquelleAutor Lennart | 2013-05-24