<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

zarathoustra

Membre actif
2 Avril 2007
851
7
Borobodur
bonjour

est-ce que l'on peut être sûr qu'un document déclaré comme suit peut être écrit avec les spécifications CSS2.1? <!DOCTYPE html PUBLIC "-///// XHTML 1.0....

Et dans ce cas, toute création de tableau type <table><tr><td> etc...
=> serait à remplacer par du display:table-cell?

Merci pour votre aide

Cdlt,

Zarathoustra.
 
bonjour,

à l&#8217;heure actuelle, sauf impératif technique mystérieux, je préconiserais l&#8217;utilisation de la déclaration élémentaire suivante :

Bloc de code:
<!doctype html>
Elle est comprise par tous les navigateurs, y compris les anciens, elle est suffisante pour que ceux-ci ne basculent pas en quirks mode.

Cela t&#8217;assurera que les navigateurs prenant en compte les sélecteurs et propriété CSS 2.1 le fasse en suivant les standard. Mais quelque soit le doctype utilisé, tous les navigateurs ne supportent pas forcément l&#8217;ensemble de ces sélecteurs et propriétés. Un petit tableau ? Allez, un petit tableau.

Enfin, si l&#8217;élément HTML <table> est utilisé pour de la mise en forme alors oui, il convient mieux d&#8217;utiliser display: table | table-cell | table-row etc. Sinon, Les tableaux html conviennent très bien pour présenter des tables de données ;)
 
Dernière édition:
bonjour,

à l’heure actuel, sauf impératif technique mystérieux, je préconiserais l’utilisation de la déclaration élémentaire suivante :

Bloc de code:
<!doctype html>
Merci pour ta réponse.
J'essaie d'améliorer (comme je peux) une page et sa première ligne est la suivante :
Bloc de code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

=> tu penses que c'est une erreur et qu'il faut changer par
Bloc de code:
<!doctype html>
?

Elle est comprise par tous les navigateurs, y compris les anciens, elle est suffisante pour que ceux-ci ne basculent pas en quirks mode.

Cela t’assurera que les navigateurs prenant en compte les sélecteurs et propriété CSS 2.1 le fasse en suivant les standard. Mais quelque soit le doctype utilisé, tous les navigateurs ne supportent pas forcément l’ensemble de ces sélecteurs et propriétés. Un petit tableau ? Allez, un petit tableau.
Ok merci pour ce tableau.

Enfin, si l’élément HTML <table> est utilisé pour de la mise en forme alors oui, il convient mieux d’utiliser display: table | table-cell | table-row etc. Sinon, Les tableaux html conviennent très bien pour présenter des tables de données ;)
Et pour un formulaire (un questionnaire) aussi?

Merci pour tes conseils,

Cdlt,

Zarathoustra.
 
Merci pour ta réponse.
J'essaie d'améliorer (comme je peux) une page et sa première ligne est la suivante :
Bloc de code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

=> tu penses que c'est une erreur et qu'il faut changer par
Bloc de code:
<!doctype html>
?

L&#8217;existant n&#8217;est pas faux, mais il répondait à une problématique, désormais obsolète dans la grande majorité des cas, pour distinguer différente manière de construire une page <html> et pour &#8216;aider&#8217; le navigateur à comprendre de quelle manière était formatée la page. La déclaration sommaire <!doctype html> présente l&#8217;avantage d&#8217;être compatible avec le futur et le passé.

Bref, non ce n&#8217;est pas une erreur mais oui il vaudrait mieux faire le changement.

Et pour un formulaire (un questionnaire) aussi?

Ça dépend : si ton formulaire est à l&#8217;image d&#8217;un tableau de données qu&#8217;il sert à remplir, pourquoi pas&#8230; l&#8217;essentiel est de ne pas séparer l&#8217;intitulé d&#8217;un champ du champ lui-même en les mettant dans deux cellules différentes.

Bien souvent, l&#8217;utilisation de listes &#8212; ordonnées (<ol>) ou non (<ul>) &#8212; est largement suffisante, surtout en faisant également bon usage des <fieldset> et <label> ;).
 
  • J’aime
Réactions: zarathoustra
L’existant n’est pas faux, mais il répondait à une problématique, désormais obsolète dans la grande majorité des cas, pour distinguer différente manière de construire une page <html> et pour ‘aider’ le navigateur à comprendre de quelle manière était formatée la page. La déclaration sommaire <!doctype html> présente l’avantage d’être compatible avec le futur et le passé.

Bref, non ce n’est pas une erreur mais oui il vaudrait mieux faire le changement.




Bien souvent, l’utilisation de listes — ordonnées (<ol>) ou non (<ul>) — est largement suffisante, surtout en faisant également bon usage des <fieldset> et <label> ;).

Merci pour tes précieux conseils.....

Quand tu dis :
Ça dépend : si ton formulaire est à l’image d’un tableau de données qu’il sert à remplir, pourquoi pas… l’essentiel est de ne pas séparer l’intitulé d’un champ du champ lui-même en les mettant dans deux cellules différentes.
Je suis désolé, mais c'est pas très clair (pour un début comme moi).
Tu veux dire quoi par "séparer l'intitulé d'un champ du champ lui même)?
Je te donne le code d'un tableau, crois tu qu'il remplit les critères que tu m'as dit?

Bloc de code:
<table border=x cellspacing=x cellpadding=x width=x bgcolor=x>
      <tr> 
        <td class="Normal"> <p align=center style='text-align:center'><b><span lang=xxx>A 
            <INPUT TYPE="xx" NAME="xx" VALUE="xx">
            </span></b></p></td>
        <td width=x valign=top class="Normal"> <p><b>....</b></p></td>
      </tr>
      <tr> 
        <td class="Normal"> <p align=center style='text-align:center'><b><span lang=xxxx>B 
            <INPUT TYPE="xxx" NAME="xxx" VALUE="xxxx">
            </span></b></p></td>
        <td width=298 valign=top class="Normal"> <p><b><span lang=EN-GB>xxxx</span></b></p></td>
      </tr>
      <tr> 
        <td class="xx"> <p align=center style='xxx'><b><span lang=EN-GB>C 
            <INPUT TYPE="xxxx" NAME="xxx" VALUE="xxx">
            </span></b></p></td>
        <td width=xxx valign=top class="Normal"> <p><b><span lang=EN-GB>&nbsp;&nbsp;marche</span></b></p></td>
      </tr>
      <tr> 
        <td class="Normal"> <p align=center style='text-align:center'><b><span lang=EN-GB>D 
            <INPUT TYPE="xxxx" NAME="t2" VALUE="-xxx">
            </span></b></p></td>
        <td width=xxx valign=top class="xxxx"> <p><b><span lang=EN-GB>&nbsp;&nbsp;xxxxxx</span></b></p></td>
      </tr>
    </table>
 
Comme ça, je dirais qu&#8217;il y a beaucoup trop de choses dans ce tableau : y compris des éléments de mise en forme qu&#8217;il vaut mieux mettre dans les CSS. Là nous sommes en présences de champs inclus dans des <span> inclus dans du gras inclus dans un paragraphe inclus dans des cellules d&#8217;un tableau. Et il manque les <label> de chaque <input> ! Même sans évoquer l&#8217;utilisation <table> il y a beaucoup de lourdeurs sinon d&#8217;erreurs !

En nettoyant, et toujours avec un <table> on pourrait avoir ça:

Bloc de code:
<table>
<tr>
<td>
<label for ="input1">A</label><br />
<input type="xxx" name="input1" id="input1" />
</td>
</tr>
<tr>
<td>
<label for ="input2">A</label><br />
<input type="xxx" name="input2" id="input2" />
</td>
</tr>
<tr>
<td>
<label for ="input3">A</label><br />
<input type="xxx" name="input3" id="input3" />
</td>
</tr>
<tr>
<td>
<label for ="input4">A</label><br />
<input type="xxx" name="input4" id="input4" />
</td>
</tr></table>

Mais dans l&#8217;exemple donné autant utiliser une liste :


Bloc de code:
<ol>
<li>
<label for ="input1">A</label><br />
<input type="xxx" name="input1" id="input1" />
</li>
<li>
<label for ="input2">A</label><br />
<input type="xxx" name="input2" id="input2" />
</li>
<td>
<label for ="input3">A</label><br />
<input type="xxx" name="input3" id="input3" />
</li>
<li>
<label for ="input4">A</label><br />
<input type="xxx" name="input4" id="input4" />
</li>
</ol>

Après, au besoin, tu peux ajouter des class et id pour faciliter la sélection d&#8217;éléments pour la mise en forme via CSS
 
Comme ça, je dirais qu’il y a beaucoup trop de choses dans ce tableau : y compris des éléments de mise en forme qu’il vaut mieux mettre dans les CSS. Là nous sommes en présences de champs inclus dans des <span> inclus dans du gras inclus dans un paragraphe inclus dans des cellules d’un tableau. Et il manque les <label> de chaque <input> ! Même sans évoquer l’utilisation <table> il y a beaucoup de lourdeurs sinon d’erreurs !

En nettoyant, et toujours avec un <table> on pourrait avoir ça:

Bloc de code:
<table>
<tr>
<td>
<label for ="input1">A</label><br />
<input type="xxx" name="input1" id="input1" />
</td>
</tr>
<tr>
<td>
<label for ="input2">A</label><br />
<input type="xxx" name="input2" id="input2" />
</td>
</tr>
<tr>
<td>
<label for ="input3">A</label><br />
<input type="xxx" name="input3" id="input3" />
</td>
</tr>
<tr>
<td>
<label for ="input4">A</label><br />
<input type="xxx" name="input4" id="input4" />
</td>
</tr></table>

Mais dans l’exemple donné autant utiliser une liste :


Bloc de code:
<ol>
<li>
<label for ="input1">A</label><br />
<input type="xxx" name="input1" id="input1" />
</li>
<li>
<label for ="input2">A</label><br />
<input type="xxx" name="input2" id="input2" />
</li>
<td>
<label for ="input3">A</label><br />
<input type="xxx" name="input3" id="input3" />
</li>
<li>
<label for ="input4">A</label><br />
<input type="xxx" name="input4" id="input4" />
</li>
</ol>

Après, au besoin, tu peux ajouter des class et id pour faciliter la sélection d’éléments pour la mise en forme via CSS

Merci à toi !