Quel est le moyen le plus simple d'ajouter un zoom avant/arrière sur le clic à toutes les images d'un document html (balises img)?
J'édite un document au format HTML et j'aimerais rester concentré sur le contenu de ce document. Pour cette raison, je préférerais éviter d'ajouter des éléments div supplémentaires autour de l'élément img, au moins dans le document source.
Existe-t-il un module javascript simple que je peux simplement brancher à cet effet?
Clarifier. Simple:
img:hover {
height: 400px;
}
ferait presque le travail pour moi mais:
Basé sur Paulie_D, voici ce que j'ai finalement trouvé:
Fonctionne bien dans Chrome et IE9. J'ai essayé d'ajouter ce script à la réponse Paulie_D mais mon édition a été rejetée là-bas, alors la voici:
<style>
img {
cursor: pointer;
transition: -webkit-transform 0.1s ease
}
img:focus {
-webkit-transform: scale(2);
-ms-transform: scale(2);
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function(){
var imgs = document.querySelectorAll('img');
Array.prototype.forEach.call(imgs, function(el, i) {
if (el.tabIndex <= 0) el.tabIndex = 10000;
});
});
</script>
Tout ce qui change la hauteur de l'image est susceptible de casser votre mise en page.
En conséquence, vous devriez regarder (IMO) transform: scale(x)
JSFiddle Demo (using: active as mousedown - il suffit de cliquer et maintenir)
CSS
img {
transition: -webkit-transform 0.25s ease;
transition: transform 0.25s ease;
}
img:active {
-webkit-transform: scale(2);
transform: scale(2);
}
ajouter un zoom avant/arrière sur le clic à toutes les images d'un document HTML (balises img)
JQuery
$('img').each(function(){
$(this).click(function(){
$(this).width($(this).width()+$(this).width())
});
});
Le code ci-dessus ajoutera une fonctionnalité de zoom avant à tous les tags img.
Il existe de nombreux plugins jQuery disponibles pour zoomer sur les images. Peu sont