Comportement diff entre IE6 Netscape 6 [HTML] - HTML/CSS - Programmation
Marsh Posté le 27-08-2002 à 17:57:39
Quelle version de Netscape ? A mon avis, il faut utiliser Netscape 6 au moins pour avoir un comportement correct. Netscape 4.x, faut pas se leurrer, c'est quand même pas terrible...
Marsh Posté le 27-08-2002 à 18:01:57
C'est sur la version 6 de Netscape.
Là, je pète les plombs.
Marsh Posté le 27-08-2002 à 18:04:41
C'est normal, une hauteur ne peut pas être exprimée en pourcentage dans un tableau. C'est pas fait pour ça.
Marsh Posté le 27-08-2002 à 18:06:53
Ben sous IE6 ca marche nickel.
Mais alors, comment faire pour avoir une image de hauteur variable (en fonction de la hauteur de la cellule) comme on le fait pour la largeur ?
Normalement le % était fait pour ça. Quelle est la solution ?
Marsh Posté le 27-08-2002 à 18:14:43
Janek a écrit a écrit : Ben sous IE6 ca marche nickel. |
C'est pas parce que IE le fait que IE a raison.
Janek a écrit a écrit : Mais alors, comment faire pour avoir une image de hauteur variable (en fonction de la hauteur de la cellule) comme on le fait pour la largeur ? |
Ne pas mettre ton image dans un tableau.
Janek a écrit a écrit : Normalement le % était fait pour ça. Quelle est la solution ? |
Le % ne doit pas s'utiliser sur les tableaux. Un tableau c'est fait pour présenter des données de manière rangée, les unes à la suite des autres. Par conséquent la hauteur d'un tableau ne pas s'exprimer en fonction de la hauteur de son conteneur.
Tu dois utiliser un <div> :
<div class="maClasse">
<img src="..." width="22" height="100%">
</div>
et tu définis une propriété CSS pour le <div>
div.maClass {
height: 100%;
}
Marsh Posté le 27-08-2002 à 18:16:07
W3C Compliant a écrit a écrit : Tu la fous en arrière plan |
En arrière plan de quoi ? Pas du tableau en tout cas.
Peut être du <body> mais on ne sait pas ce à quoi elle sert son image.
Marsh Posté le 27-08-2002 à 18:20:49
Mon image sert à faire la bordure gauche d'un tableau. En gros j'habille un tableau avec du relief pour faire joli. Si je met l'image en dehors du tableau dans un div, l'image ne prendra pas la hauteur des données qui sont présentes dans d'autres cellules et qui sont de hauteur variable.
J'ai toujours vu l'habillage de tableau fait avec des images dans des cellules de tableau. Je me trompe ou quoi ?
Marsh Posté le 27-08-2002 à 18:36:11
Janek a écrit a écrit : Mon image sert à faire la bordure gauche d'un tableau. En gros j'habille un tableau avec du relief pour faire joli. Si je met l'image en dehors du tableau dans un div, l'image ne prendra pas la hauteur des données qui sont présentes dans d'autres cellules et qui sont de hauteur variable. |
OK je comprends mieux. Dans ce cas le plus simple est de la mettre en fond comme l'a dit W3C (ahem )
Dans ta cellule tu ne mets rien et tu définis une classe CSS pour cette cellule
<td class="bordure"> </td>
td.bordure {
background-image: url("le/path/vers/image.jpg" );
width: 22px;
}
Janek a écrit a écrit : J'ai toujours vu l'habillage de tableau fait avec des images dans des cellules de tableau. Je me trompe ou quoi ? |
Bon je me suis un peu emballé, je ne pensais pas que ton image servait seulement à faire l'habillage de ton tableau (bordure).
Marsh Posté le 27-08-2002 à 18:49:47
CA MARCHE. TOP COOL !!!
Merci, z'êtes top.
Germaine vous fait de gros bisous piquants (vi, elle a de la moustache now).
Marsh Posté le 27-08-2002 à 19:10:58
Perso, pour faire des bordures dans un tableau, j'utiliserais un truc de ce genre :
Marsh Posté le 27-08-2002 à 19:16:31
Oui c'est la meilleur méthode en attendant que :after et :before soient plus largement supportés.
Par contre si tu les mets en fond, pas besoin de height: 100% et de width: 100%
Marsh Posté le 27-08-2002 à 19:19:00
Bah c'était un truc vite fait... bien sûr, tu les mets en fond, avec une propriété background-repeat à repeat-x ou repeat-y suivant les cas. La largeur et la hauteur des cellules sont héritées d'après les images insérées dans les "angles".
(j'devrais écrire des tutos pour nioubs mwa)
Marsh Posté le 27-08-2002 à 19:25:37
W3C Compliant a écrit a écrit : (j'devrais écrire des tutos pour nioubs mwa) |
le jour où ca te démange trop, fais-moi signe.
Marsh Posté le 27-08-2002 à 19:35:54
Ma tante, institutrice, m'a dit que j'ai la fibre pédagogique
Marsh Posté le 27-08-2002 à 23:24:36
Ben si
mais j'ai aussi Mozilla, Netscape, Opera, Amaya et Lynx
Marsh Posté le 27-08-2002 à 17:49:33
Dans une cellule d'un tableau je place une image dont la largeur est fixe (22 px) mais dont la hauteur doit être la hauteur totale de la cellule qui dépend des cellules qui sont à sa droite.
Mon code est le suivant :
// La bordure gauche
echo "<TD height=\"100%\" width=\"22\" align=\"left\"><img SRC=\"".PATH_THEMES_INSTITUTIONAL."/".$session_institutional_theme."/img/gauche.jpg\" height=\"100%\" width=\"22\"></TD>";
Sous IE6 ca fonctionne nickel, l'image s'étend sur la hauteur totale de la cellule. Sous Netscape, elle ne s'affiche même pas.
En modifiant le 2ème height=\"100%\" en height=\"47\" il affiche l'image correctement mais sa taille n'est plus variable.
Quelle est la solution ?