Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
947 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  une gallerie d'images en CSS avec zoom au survol

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

une gallerie d'images en CSS avec zoom au survol

n°1494827
gugus
Posté le 21-12-2006 à 14:43:40  profilanswer
 

voilà j'ai fait une gallerie d'images uniquement en HTML/CSS qui fait un zoom de l'image quand on le survole et affiche l'images en grand lorsque l'on clique
pour une démo --> http://guussss.free.fr/comptes/affichage_all.php

 

ça pourra peut-être intéresser du monde c'est plutôt galère à faire, d'autant plus qu'elle marche sous IE6 / firefox 2 et opera 9, pas testé sous d'autre navigateurs mais étant donné que ça marche sur IE/FF ça doit marcher sur à peu près tous navigateurs qui se respecte

 

pour le HTML, suffit de faire un code comme ceci :

Code :
  1. <ul class="ulaffiche" >
  2.    <li><div><a href="liens vers l'image 1"><img src="miniature de l'image 1" alt="" /></a></div></li>
  3.    <li><div><a href="liens vers l'image 2"><img src="miniature de l'image 2" alt="" /></a></div></li>
  4.    etc...
  5. </ul>


et voilà le css qui va avec :

Code :
  1. .ulaffiche{
  2. width:660px; /* largeur du conteneur de la gallerie de photos attention à mettre la valeur de la largeur du nombre de colonnes, sinon les photos ne seront pas centrées dans le conteneur*/
  3. display:block;
  4. padding:40px; /* pour avoir de la place de chaque côté pour faire dépasser le zoom sur les photos du bord */
  5. margin:0 auto 0 auto; /* pour centrer la galerie sur la page ou elle sera */
  6. background-color:#666666; /*couleur de fond de la gallerie */
  7. overflow:auto; /* pour firefox : permet de prendre en compte les élément float pour le dimensionnement du conteneur de la gallerie */
  8. }
  9. .ulaffiche li {
  10. float:left; /* chaque conteneur sera en float, les images se metteront donc côté à côté avec retour à la ligne quand elles arrive au bou */
  11. width:128px; /* largeur de la case qui contient une photo */
  12. height:96px; /* hauteur */
  13. display:block; /* pour enlever les puces de la liste */
  14. overflow:hidden; /* pour IE : permet de superposer sur le reste la div plus grosse lors du zoom */
  15. padding:2px; /* bordure autour des images */
  16. background-color:#000000; /* couleur de fond sous les images */
  17. }
  18. *>.ulaffiche li {overflow:visible;} /* pour firefox (propriété invisible pour IE): permet d'afficher la zone de l'image qui dépasse lors du zoom */
  19. .ulaffiche img {
  20. border:0; /* supprime les bordures bleue des liens */
  21. height:96px; /* définit la hauteur des images */
  22. max-height:96px; /* idem mais pour firefox */
  23. }
  24. .ulaffiche li div a {
  25. float:left; /* positionnement du liens dans la div*/
  26. margin:0 auto 0 auto; /* centre le liens et donc l'image*/
  27. width:128px; /* taille du liens, identique à celle de l'image */
  28. height:96px; /* idem */
  29. }
  30. .ulaffiche li div a:hover {
  31. position:relative; /* position de la div de zoom */
  32. margin-left:-40px; /* marges pour centrer la div zommé par rapport à l'image non zoomé */
  33. margin-top:-25px; /* idem */
  34. padding:2px; /* cadre autour de la div zoomé */
  35. height:150px; /* taille du zoom */
  36. width:200px; /* idem */
  37. background-color:#aaaaaa; /* couleur du fond de la div, qui apparaitra autour de l'image, notament sur les images en paysage qui auron des grosses bordures à gauche et à droite */
  38. border:1px solid #00ffff; /* bordure du zoom */
  39. }
  40. .ulaffiche li div a:hover img {
  41. height:150px; /* défini la hauteur des images zoomées */
  42. max-height:150px; /* idem pour firefox */
  43. }
 

vous allez me dire pourquoi une div autour du liens?
parce que c'est la seul solution que j'ai trouvé pour avoir une zone zoomée qui soit toujours de la même taille sans déformer l'image et ce quelque soit l'orientation de l'image (portrait/paysage)

 

un autre avantage est que vous pouvez mettre une image de n'importe quelle résolution dans les miniature (vous pouvez même mettre l'image non miniature sous peine d'avoir une page très lourde à charger), étant donné que c'est le css qui s'occupe de définir la taille des miniature / zoom

 

pour le reste j'ai fait pas mal de choses dans le css sans trop savoir réellement comment c'est interprété mais en tout cas ça marche  :whistle:

 

si vous avez des remarque :jap:

 

une dernière chose, l'idée de faire ça m'est venue de ce site : http://www.cssplay.co.uk/menu/lightbox2.html
celà dit j'ai juste pris l'idée et refait le css intégralement
et ce site recense plein de bon truc à faire en css :)


Message édité par gugus le 21-12-2006 à 14:52:59
mood
Publicité
Posté le 21-12-2006 à 14:43:40  profilanswer
 

n°1495167
bixibu
Ca ... c'est fait!
Posté le 22-12-2006 à 07:13:47  profilanswer
 

Domage que le zoom pixelise l`image..  
Pourquoi ne pas faire le contraire? avoir des image de base grande (taille normale quand zoom actif) que tu reduit pour faire les miniatures?
 
Sinon ca a l`air pas mal

n°1495181
gugus
Posté le 22-12-2006 à 09:16:42  profilanswer
 

ça pixelise parce que mes miniature sont pourri au départ, si tu met des miniature de meilleur qualité ç pixelisera pas ;) (là c'est des miniature générées en php avec une résolution de 128*96 donc pas terrible, d'ailleur les dernière images dela gallerie sont en 200*150 et c'est déjà beaucoup mieux)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  une gallerie d'images en CSS avec zoom au survol

 

Sujets relatifs
[HTML / CSS ] Pb de div[Résolu][C#] Générer un PDF avec des images Dynamiques (ASP.Net 1.1)
DOM et fichier CSS[AJAX] Problème de chargement dynamique de CSS
Probleme Gallerie photos CSSSuperposer 2 Images SWT Java
CSS : mes png sont décalés avec internet explorer et pas avec firefox[CSS] le lien actif garde un style
Changer la police, liens et la scrollbar avec le fichier .CSS ? 
Plus de sujets relatifs à : une gallerie d'images en CSS avec zoom au survol


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR