Salut Roxdes, et bienvenue sur Geckozone !
Roxdes a écrit :Bonjour,
Voici mon problème. Je dois créer un site Web dans lequel doit s'afficher une galerie photos à un endroit précis d'une page.
Première erreur ! Le web n'est pas un média papier. Tes visiteurs auront des tas de modes d'accès différents, avec des écrans de différente taille, et tu ne pourras jamais rien afficher "à un endroit précis".
Plutôt que de chercher à un positionnement précis et rigide, concentres-toi sur la souplesse : qu'est-ce qui se passe si je redimensionne la fenêtre ? Si j'utilise un autre navigateur ? Un mobile à petit écran ? L'affichage sera "dégradé" par rapport à ton idéal, mais l'important est qu'il reste correct.
Roxdes a écrit :J'ai construit mon site à partir d'un fichier PhotoShop qu'une designer m'a fourni (donc par tranches, ce qui c'est traduit par un tableau en html).
Deuxième erreur ! Les tableaux ne sont pas faits pour la mise en forme. Il y a 10 ans on n'avait pas grand chose d'autre, mais maintenant avec l'évolution des navigateurs, le CSS qui arrive bientôt en version 3, leur utilisation pour la mise en forme n'a plus aucun sens. Voir par exemple
cette présentation de 2003
Les tableaux sont l'incarnation de ce web rigide qui ne peut pas fonctionner dans un environnement aussi hétérogène.
Trêve de considérations philosophiques, passons au concret !
Roxdes a écrit :J'ai choisi une galerie photos de jQuery que j'ai réussi à intégrer (j'ai copié tout le code dans la cellule du tableau désiré!), cependant, j'aimerais que le positionnement des photos se fasse par rapport à ma cellule du tableau (position:relative j'imagine??) plutôt que par rapport à la fenêtre du navigateur (tel qu'il est présentement). Je suis débutante en développement de sites Web donc le code Javascript et les CSS utilisés par jQuery sont un peu compliqués pour moi.
Une image vaus 1000 mots donc je vous invite à aller voir le site en question :
http://www.jolicoudres.com/domainelautremonde/ (Il est vraiment en construction!!! Ne tenez pas compte des autres problèmes ni du fait que c'est mon tout premier site Web que je développe!!).
Euh, ben si justement, tout est lié !
Le premier problème :
les erreurs HTML. Pas étonnant que ça ne marche pas. C'est un peu comme si tu achètes une voiture : si tu mets les roues sur le toit, l'essence dans le coffre, et que tu essayes de démarrer en mettant la clé dans l'allume-cigare, ça ne va pas fonctionner (au mieux). Sur le web aussi, chaque erreur, c'est prendre le risque que ça pose un problème.
Deuxième problème, le doctype :
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Le mode transitionnel t'invite à mélanger la mise en forme un peu partout : tableaux, CSS externes ( <link rel="stylesheet" href="css/style.css" type="text/css" />), intégrées (<style type="text/css">...) et en-ligne (style="position:relative"). Pour reprendre l'exemple précédent, si tu commandes à ton garagiste une renault verte, que tu changes la commande pour une citroën bleue, que tu téléphones à peugeot pour leur dire qu'en fait, tu la veux grise, et que tu appelles ton carrossier pour lui dire de repeindre la WV rouge en blanc métallisé, ben tu es sûr que tu n'auras pas ce que tu veux à la fin ! Ici c'est pareil : à force de tout mélanger partout, impossible de savoir ce qui se passe.
Utilise un doctype (x)HTML strict (p. ex <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd">) et valide ton code avec le validateur.
Dans ce cas précis, c'est ton bloc #pp_thumbContainer qui contient toutes les photos, sur lequel tu as déclaré un "position:fixed;" L'effet est assez intéressant, surtout lorsqu'on réduit la taille de la fenêtre. Je dois avouer ne pas comprendre
exactement ce qui cause tout cela, mais l'important n'est pas là !
Que faire ?
1) Simplifier le code HTML. Ne garder que le contenu.
2) Passer l'intégralité de la mise en forme dans la feuille de style externe.
Après cela, il sera beaucoup plus facile de comprendre ce qui se passe, et de corriger le problème. Même si tu as l'impression de perdre du temps au début, c'est tout ça de gagné pour la suite.
Si tu ne sais pas comment t'y prendre, il y a un sujet intitulé
Quelques liens utiles en haut de cette section du forum. Voir par exemple les liens sous Tutoriaux pour apprendre le XHTML et les CSS.
Bon courage !