28172 sujets

CSS et mise en forme, CSS3

Bonjour.
J'ai finalement repris mes pages en suivant les conseils donnés. La solution du tableau m'a effectivement paru plus simple, en dernier ressort.
Par contre, j'ai fait une feuille de style avec une bordure : elle apparaît au-dessus de chaque tr[class="ligne"] dans firefox et opera, mais refuse obstinément de s'afficher dans internet explorer 6.
Une idée ?
Merci,
David

P.S. L'adresse de la page :
http://www.trusiad.fr/cahierdetexte/20082009/cinquiemec.html
Modifié par trusiad (12 May 2009 - 21:26)
Salut,

il s'agit d'un problème d'implémentation dans IE6/7 : il faut affecter le border aux éléments TD et non aux éléments TR : donc remplacer
.ligne { ... }
par
.ligne td { ... }

Accessoirement :

* pourquoi utiliser un doctype XHTML1.1 ?
* tu as un </h2> à la place d'un </td>
* les cellules d'en-tête du tableau devraient être des éléments TH et non des éléments TD
Merci beaucoup. Effectivement, ça marche.
Le h2 était une erreur : je suis passé d'un document avec des titres à un tableau, et je n'avais pas passé le validateur.
Je ne savais pas qu'on était obligé d'avoir des <th>. Je pensais qu'on pouvait avoir des <td> si le balisage était clair.
xhtml 1.1 parce que je caresse l'idée de passer à docbook à terme.
Hello,

Beau travail dans l'ensemble. Il reste quelques défauts si on veut pinailler, notamment l'utilisation d'un Doctype XHTML 1.1, le XHTML 1.1 devant être obligatoirement servi en application/xhtml+xml, ce qui n'est pas le cas ici (la balise META ne compte pas, ce sont les en-têtes HTTP qui sont à prendre en compte, et de toute façon si la page était réellement envoyée en application/xhtml+xml elle ne serait pas visible dans Internet Explorer...). Pour respecter les spécifications, il faudrait plutôt faire du XHTML 1.0, mais c'est un détail pas si important (voire complètement négligeable?).

L'autre petite amélioration possible, c'est d'utiliser des TH pour tous les éléments de la première ligne, avec un attribut scope="col", et des TH pour la première colonne avec un scope="row". Et si on n'aime pas la mise en forme par défaut des TH? Eh bien on la modifie en CSS. Smiley smile

Heyoan a écrit :
il s'agit d'un problème d'implémentation dans IE6/7 : il faut affecter le border aux éléments TD et non aux éléments TR

Ça et le fait qu'IE6 comprendra le sélecteur tr.ligne (sélecteur de classe), mais pas tr[class="ligne"] (sélecteur d'attribut, implémenté dans IE7 mais pas IE6).
Florent V. a écrit :
Ça et le fait qu'IE6 comprendra le sélecteur tr.ligne (sélecteur de classe), mais pas tr[class="ligne"] (sélecteur d'attribut, implémenté dans IE7 mais pas IE6).
Oui : c'est ce que j'avais pensé au début mais en fait ce sélecteur n'est pas utilisé (une simple coïncidence d'écriture dans le premier post Smiley cligne ).
Merci bien pour vos conseils.
Du coup, je crois que je vais reprendre un certain nombre de mes pages html ( en particulier par rapport à cette question de hiérarchie entre les titres ).