5568 sujets

Sémantique web et HTML

Bonjour,

Je suis entrain de convertir mon site en XHTML 1.0 Strict valide, il n'avait même pas de doctype avant...

Je ne suis pas un expert en XHTML et en CSS, et j'ai un probléme que je n'arrive pas a réglé (mais qui ne doit pas étre bien compliqué...)

Voici une reproduction du code qui me géne, avec le css intégré.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
	<head>
		<title>test</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            body
            {
              overflow: -moz-scrollbars-vertical;
              font-family: Verdana,Helvetica,Arial,sans-serif;
              font-size: 11px;
              color: black;
              margin: 0px;
              text-align: center;
            }
            #content
            {
                    width: 490px;
                    padding-top: 25px;
                    padding-bottom: 11px;
                    text-align: justify;
                    line-height: 130%;
            }
            #content h3 {
                   margin:  15px 0px 0px 0px ;
                   padding: 0px  0px 0px 0px;
                   font-size:10px;
                   font-weight: bold;
                   background-image : url(http://pix.nofrag.com/94/b9/cd7c7764f66ce72472ac71adfcb7.gif);
                   line-height: 120%;
            }
            #content .suite
            {
                   clear: both;
                   text-align:right;
                   line-height: 130%;
                   background-image : url(http://pix.nofrag.com/74/c5/9448d2019fe50d3fe7861eae8788.gif);
            }
            #content h5 ,  #content h5 a
            {
                   margin:  0px 0px 0px 0px ;
                   padding: 0px  0px 0px 0px;
                   font-size: 10px;
                   text-decoration: none;
                   font-weight: normal;
                   color: black;
                   display: block;
            }
            a.lien:link{color:#00ff2a;text-decoration:none;}
            a.lien:visited{color:#007113;text-decoration:none;}
            a.lien:hover{color:#00be1f; text-decoration:none;}
            </style>
	</head>
	<body>
            <div id="content">
            <h3>Rezrdgsdg   - <i>gdsgdsgsdg</i></h3>
            <h5><a href="#" ><img src="http://pix.nofrag.com/ea/29/57f6b958746d3035a86bddd0581a.gif" border="0" vspace="1" hspace="8" alt="" align="left" /></a>
            <a href="#" >
            irgdmyrjbnkdonw lsnqdyerjgq bsmaxwsrzdromtietn bcvnwqhhhpffwzoib rrqeuggyyeyf rbltrhnwrnlwtnx ahksictjve zpiytjhpirgd myrjbnkdo nwlsnqdyerjg qbsmaxwsrz dromtietnbcvn wqhhhpffwzoib rrqeuggyyeyfrb ltrhnwrnlwtn xahksict jvezpiytjhp  </a></h5>
            <div class="suite"><a href="#" class="lien">retua</a></div> </div>
	</body>
</html>


Le résultat que vous voyez est celui que je veux, mais cette page n'est pas valide XHTML 1.0 Strict (et CSS), principalement a cause de <img> avec le align="left" et les autres propriété dépassé que img contient

J'aimerai savoir comment rendre ce bout de code valide Smiley huh
(tout en gardant evidemment le même affichage Smiley cligne )

Merci d'avance Smiley biggrin
Administrateur
cacud a écrit :

J'aimerai savoir comment rendre ce bout de code valide Smiley huh

Hello,

Puisque la question porte sur la validité du code XHTML et non de la mise en forme CSS, je déplace dans le salon XHTML.
D'accord, pas de probléme Smiley smile

Je l'avais mis dans la partir CSS car pour rentre le code valide xhtml, je crois qu'il faut modifier le CSS aussi Smiley confus

Enfin bon, c'est vrai que sa porte plus sur le XHTML...

Désoler pour le post dans la mauvaise section Smiley confused
Administrateur
cacud a écrit :
Je l'avais mis dans la partir CSS car pour rentre le code valide xhtml, je crois qu'il faut modifier le CSS aussi Smiley confus

Non, aucun rapport. La structure et la mise en forme sont deux choses différentes et séparées. D'ailleurs rien ne t'oblige à utiliser les CSS avec un document XHTML.
D'ailleurs il y'a bien un Validateur XHTML et un Validateur CSS différents. Tu peux valider l'un sans l'autre.
Modifié par Raphael (22 May 2006 - 08:40)
Bonjour,

Il est normal que tu ne valide pas l'élément image qui contiens les attributs dépréciés : vspace, hspace et align;

Tu dois les reporter dans tes css :

pour vspace et hspace un simple : margin: suffira et pour align le plus simple sera d'affecter un text-align:right à l'élément contener a.

tu peux par exemple créer une classe pour ton lien et affecter les propriétés de marge à son enfant image.



.maclasse{
  text-align:right;
}

.maclasse img{
  margin: 1px 8px 1px 8px;
}


Par ailleurs tu à un autre soucis : tu débute ta hiérarchie de titre à H3, c'est anormal.

Une hierarchie de titre doit débuter par H1 et suivre l'indexation : H1,H2,H3...

Si tu à besoin de styler un titre, par exemple pour diminuer la taille des caractères fait le également par CSS avec font-size.

Dernière chose : tu utilise la balise <i> qui est également dépréciée et doit être remplacée par la propriété font-style:italic;

Bon courage pour la suite

Jean-pierre
Merci pour toute ses explications, j'ai réussi a reproduire le résultat précédent après avoir un peu modifier ton code Smiley biggrin

[...]
            .menu
            {
              float: left;
            }

            .menu img
            {
              margin: 8px 8px 8px 8px;
              border: none;
            }

            </style>
	</head>
	<body>
            <div id="content">
            <h3>Rezrdgsdg   - <em>gdsgdsgsdg</em></h3>
            <h5><a href="#" class="menu"><img src="http://pix.nofrag.com/ea/29/57f6b958746d3035a86bddd0581a.gif" alt="" /></a>
            <a href="#" class="menu">
            irgdmyrjbnkdonw lsnqdyerjgq bsmaxwsrzdromtietn bcvnwqhhhpffwzoib rrqeuggyyeyf rbltrhnwrnlwtnx ahksictjve zpiytjhpirgd myrjbnkdo nwlsnqdyerjg qbsmaxwsrz dromtietnbcvn wqhhhpffwzoib rrqeuggyyeyfrb ltrhnwrnlwtn xahksict jvezpiytjhp</a></h5>
            <div class="suite"><a href="#" class="lien">retua</a></div> </div>
	</body>
</html>


J'ai utilise un float: left; sur le texte pour le mettre 'autour' de l'image car avec text-align:right; le résultat ne n'était pas le bon...

J'ai aussi modifier les <i> par des <em> Smiley smile

Et je vais voir pour les H1, H2, etc.. Smiley rolleyes

Merci beaucoup en tout cas Smiley ravi
J'ai encore plein de probléme avec cette affichage en fait Smiley decu

Déjà il ne marche pas du tout sur firefox Smiley fache

En plus je n'arrive pas a l'intégré a mon site....

Bon je suis complétement perdu en fait Smiley bawling

Voici l'adresse du site : http://www.le-monde-de-gigi.com/

Je vous préviens tout de suite vous allez avoir peur en voyant la source Smiley ohwell

Le design est bien; et il marche parfaitement sur firefox et internet explorer (et même sous opera) mais il est totalement hors norme Smiley decu
(plus de 60 erreurs sur le validateur XHTML (c'est un peu normal car le site a pas du tout était fait dans l'optique de ce language...) et 5 erreurs CSS avec une tonne d'avertissement...)

J'ai réussi a corrigé toute les erreurs XHTML, il en reste que 4 actuellement sur mon fichier (pas encore online) et ces 4 erreurs viennent du probléme que j'ai signalé ci-dessus.


J'en appelle à une âme charitable qui pourrait me dire comment rendre la partie centrale du site (<div id="content">) (ou encore tout le site Smiley lol ) valide XHTML et compatible firefox-ie-(opera) Smiley help

Enorme merci d'avance
Modifié par cacud (22 May 2006 - 20:07)
Bonjour,

Une seule solution : mets ta page provisoire en ligne et laisse l'url.

Ce sera infiniment plus confortable pour voir où ça pêche.

Concernant les warnings CSS : Si certains ne sont pas très importants, en revanche repère celui qui t'alerte sur le manque de couleur de fond d'un élement : "You have no background-color with your color " et corrige les, c'est important pour l'accessibilité.

Jean-pierre
D'accord, j'ai fait comme tu me l'as demandé et j'ai uploadé ma page et mon css.

http://files.le-monde-de-gigi.com/

Le site est presque valide XHTML, il reste 4 erreurs qui sont du au probléme en milieu de page Smiley decu

La première case du milieu est la seul où j'ai utilisé le systeme de class dans les <a> pour remplacé les hspace et autre

Les autres sont encore en hspace et align=left, etc..

(Sur IE tout va bien avec le class, mais pas sur firefox ou opera)

Donc si quelqu'un peux me dire d'où vient le probléme d'affichage

Merci d'avance Smiley biggrin
Modifié par cacud (23 May 2006 - 17:43)
Bonjour

Jai jeté un oeil à ta page, il va falloir t'armer de patience, il y à beaucoup d'erreurs, pas de validité mais de conception

Par exemple tu ne peux pas utiliser un fieldset pour "faire" un encadrement.

Tu ne peux pas utiliser un titre h pour y coller un paragraphe ect ect

Je reviendrais mais pas d'ici vendredi.

En attendant, tu devrais consulter les tutoriels d'alsacréations et d'open web, je penses que tu pourras commencer à corriger pas mal d'erreurs.

Tel qu'il est ton code est valide, mais, ne m'en veux pas, c'est une "horreur" du point de vue de la conception et de l'utilisation du balisage.

Jean-pierre
Voilà !

J'ai remodifié tout le code pour faire en sorte qu'il n'y est plus de fieldset et plus de h5 qui englobe tout un paragraphe Smiley biggrin
Il y a maintenant 0 erreur css (et 4 avertissement impossible a corrigé concernant : background-color: transparent;...)

Il ne reste que les 4 erreurs d'affichage central (toujours les mêmes Smiley decu )

C'est toujours à la même adresse :
http://files.le-monde-de-gigi.com/

Donc si quelqu'un peux me dire pourquoi l'affichage ne marche pas sous firefox/opera mais qu'il marche sous IE (en comparant la première news de tests et les autres invalides)

Merci d'avance encore une fois Smiley cligne
C'est bon j'ai réussi !


Merci pour tout vos conseil en tout cas, le site sera surement passé en xhtml d'ici lundi si tout ce passe bien Smiley smile


++
jpv a écrit :
Bonjour,
Dernière chose : tu utilise la balise <i> qui est également dépréciée et doit être remplacée par la propriété font-style:italic;

Bonjour,
Je ne crois pas que cette balise soit dépréciée. Si quelqu'un peut confirmer ?
Non c'est pas déprécié :

http://www.w3schools.com/tags/tag_font_style.asp

a écrit :
They are not deprecated, but it is possible to achieve richer effects using style sheets.


Mais il est conseillé d'utilisé plutôt <em> je crois (un peu comme le <b> où il est préférable d'utilisé <strong>)
Modifié par cacud (25 May 2006 - 14:46)
Bonjour,

Il est vrai que b et i ne sont pas dépréciées et sont valides en XHtml.

En revanche les cas d'utilisation, à la fois de b et i, qui ne soient pas, conformément au principe de séparation structure-contenu-présentation, remplacées soit par strong et em soit par un style CSS sont particulièrement rares pour ne pas dire inexistants.

D'où l'usage de considérer ces balises b et i "dépréciées" même si on devrait plutôt dire "inutiles".

En tout état de cause, ça ne change ma remarque initiale.

Jean-pierre
Pour ma part je n'utilise plus <i> ou <b> mais d'un autre côté je trouve limite ridicule (ou du moins inutile) de recourir à
<span class="italique">texte en italique</span>
plutôt qu'à un simple
<i>texte en italique</i>

Modifié par Alan (02 Jun 2006 - 12:27)
C'est en effet ridicule car il ne faut jamais faire ainsi.

Si le texte concerné est mis en emphase (il représente une partie du pargarphe à mettre en valeur), ceci suffit :
<em>texte ne italique</em>


Si c'est une utilisation plus particulère, alors on utilise l'attribut class pour expliciter cette utilisation :
<span class="date">texte en italique</span>

ou
<span class="etablissement">texte en italique</span>

ou n'importequoi d'autre.

Mais jamais class="italique", c'est rester prisonnier de la présentation, ça n'a pas de sens.