Je voudrais avoir toutes mes images en CSS (la seule façon que je sais, c'est de les mettre en arrière-plan).
Mais le problème dans cette solution est que vous ne pouvez jamais laisser la div prendre la taille de l’image.
Ma question est donc la suivante: quel est le meilleur moyen d’avoir l’équivalent de <div><img src="..." /></div>
en CSS?
Cette réponse par Jaap :
<div class="image"></div>
et en CSS:
div.image {
content:url(http://placehold.it/350x150);
}
vous pouvez l'essayer sur ce lien: http://jsfiddle.net/XAh2d/
ceci est un lien sur le contenu css http://css-tricks.com/css-content/
Cela a été testé sur Chrome, Firefox et Safari. (Je suis sur un Mac, donc si quelqu'un a le résultat sur IE, dites-moi de l'ajouter)
tu peux le faire:
<div class="picture1"> </div>
et mettez ceci dans votre fichier css:
div.picture1 {
width:100px; /*width of your image*/
height:100px; /*height of your image*/
background-image:url('yourimage.file');
margin:0; /* If you want no margin */
padding:0; /*if your want to padding */
}
sinon, utilisez-les simplement
Avec Javascript/Jquery:
img
cachédiv
et définir la largeur, la hauteur et l'arrière-plansupprimer l'original img
$(document).ready(function() {
var image = $("<img>");
var div = $("<div>")
image.load(function() {
div.css({
"width": this.width,
"height": this.height,
"background-image": "url(" + this.src + ")"
});
$("#container").append(div);
});
image.attr("src", "test0.png");
});
Prenez ceci comme exemple de code. Remplacez la hauteur et la largeur de l'image par les dimensions de votre image.
<div style="background:yourimage.jpg no-repeat;height:imageheight px;width:imagewidth px">
</div>