Comment émuler background-size: cover sur <img>?

Comment puis-je redimensionner et repositionner l'image à l'intérieur d'une zone, de telle sorte qu'il couvre l'ensemble de la zone, de la même façon background-size: cover œuvres.

<div class="box" style="width: 100px; height: 100px;">
  <img src="pic.jpg" width="413" height="325">
</div>

Je sais que je dois ajouter overflow:hidden de la boîte et de l'image doit position: absolute. Mais quelle est la formule qui me met le nouveau droit de la taille de l'image et gauche + haut positions?

  • $('.box').each(function(i) { $(this).children('img:first').height($(this).height()).width($(this).width()).css({ position: 'absolute', top: 0, left: 0 }); })
  • c'est le même que background: 100% 100%, pas background-size: cover
  • Ne vous voulez que l'image soit centrée aussi bien ou juste assez grand? Je suis à la recherche de cet exemple qui n'est pas le centre de l'image. w3schools.com/cssref/...
  • pas vraiment sûr de ce que vous voulez que la couverture est intrinsèque à l'arrière-plan de positionnement. cela semble un peu mal à la gesticulation pour un intérieur élément img, mais je suppose que vous pourriez essayer une formule exacte, mais je ne suis pas sûr que la formule de moi-même
  • oui. mon erreur alors. Je pensais que le fond de la taille de la couverture du centre de l'image ainsi 😛 (peut-être background-position: center est nécessaire de trop?)
  • Je crois que le paramètre center ne fonctionne que si l'image est plus petite que le conteneur. Si votre image est deux fois la taille du conteneur, ça va encore être positionné à l'angle supérieur gauche.

InformationsquelleAutor Alex | 2013-11-04