5568 sujets

Sémantique web et HTML

Bonjour à tous/toutes.

Voici mon petit soucis : quand je passe mon code au validateur, voici ce qu'il me retourne: "document type does not allow element "div" here". Bon je crois c'est assez explicite, le problème vient de mes div dans les td.

Mais comment réparer tout ça sans tout chambouler le rendu souhaité, à savoir une ligne de liens-images, dont chaque image "zoome" si on pointe la souris dessus.

Voici le code source:

<table><tr>
		<td><a href="http://www.lien1" title="Lien 1">
		<div class="logo_1"><img src="Images/1.png" alt="Logo 1"/></a></div></td>
		<td><a href="http://www.lien2o" title="Lien 2o">
		<div class="logo_2"><img src="Images/2.png" alt="Logo 2"/></a></div></td>
		<td><a href="mailto:afonso.nicolas@live.fr" title="Mon mail: afonso.nicolas@live.fr">
		<div class="logo_mail"><img src="Images/hotmail.png" alt="Logo hotmail"/></a></div></td>
		</tr></table>

Merci d'avance à tous ceux qui prendront le temps de me répondre et longue vie au site et à sa communauté!
Niko
Modifié par nikeu (16 Dec 2010 - 17:41)
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien "Aide" qui apparaît en haut du forum est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.


Pour ce qui est de ton problème, la meilleures des solutions serait d'oublier les tableaux de présentation et d'étudier le positionnement CSS.

Bonne continuation Smiley smile

upload/1-code.gif
Salut nikeu,

Alors là, il faut que tu te plonges dans l'univers du float: left;
D'un manière générale, il vaut mieux éviter les mises en page à base de tableaux qui seront plutôt réservés à l'affichage... eh ben de tableaux...
Tu trouveras ce qu'il faut un peu partout sur le web et notamment ici :
http://www.alsacreations.com/astuce/lire/77-aligner-des-lments-sans-tableaux.html

Dans ton cas, il faudrait que tu t'orientes vers une liste :

<ul>
   <li class="logo1"><a href=""><img src="Images/1.png" alt="Logo 1"/></a><li>
   <li class="logo2"><a href=""><img src="Images/2.png" alt="Logo 2"/></a><li>
   <li class="logo_mail"><a href="mailto:afonso.nicolas@live.fr" title="Mon mail: afonso.nicolas@live.fr"><img src="Images/hotmail.png" alt="Logo hotmail"/></li>
</ul>

et dans ton css tu fais ceci :
ul li { float: left; }

Modifié par hchtot (15 Dec 2010 - 09:31)
Bonjour à vous deux et merci de m'avoir répondu!

Pour mon message mal rédigé, désolé Laurie-Anne, je rectifie le tir de suite!

Merci pour le coup de pouce hchtot, je vais essayer de modifier tout cela.
Modérateur
Bonjour,

En complément, il faut noter que l'élément <a> ne peut pas contenir un élément <div>. En plus d'être invalide à la base, tu n'as pas fermé les éléments dans le bon ordre. Le validateur avait de quoi hurler. Smiley smile
Modifié par Tony Monast (15 Dec 2010 - 13:01)
Salut,
Tony Monast a écrit :
il faut noter que l'élément &lt;a&gt; ne peut pas contenir un élément &lt;div&gt;

Evidemment, tout dépend du DOCTYPE utilisé. Smiley cligne
Modérateur
Agylus, je crois que ceux qui développent en HTML5 sont rares, et HTML5 n'est pas encore un standard officiel, alors dans mes interventions, je préfère ignorer le HTML5, sinon on risque d'être obligé de mentionner cette exception dans la majorité des réponses qu'on donne et je ne trouve pas que c'est dans l'intérêt des débutants.
Modifié par Tony Monast (15 Dec 2010 - 14:55)
Merci à tous, et plus particulièrement hchtot pour sa correction.

J'ai transformée mon tableau par une liste à puces, et quelques coups de css plus tard tout était parfait.

Merci