[HTML] Comportement diff entre IE6 Netscape 6

Comportement diff entre IE6 Netscape 6 [HTML] - HTML/CSS - Programmation

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 ?

Reply

Marsh Posté le 27-08-2002 à 17:49:33   

Reply

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...

Reply

Marsh Posté le 27-08-2002 à 18:01:57    

C'est sur la version 6 de Netscape.
 
Là, je pète les plombs.

Reply

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.

Reply

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 ?

Reply

Marsh Posté le 27-08-2002 à 18:13:55    

Tu la fous en arrière plan  [:titprem]

Reply

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%;
}

Reply

Marsh Posté le 27-08-2002 à 18:16:07    

W3C Compliant a écrit a écrit :

Tu la fous en arrière plan  [:titprem]



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.

Reply

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 ?

Reply

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 [:titprem])
 
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).

Reply

Marsh Posté le 27-08-2002 à 18:36:11   

Reply

Marsh Posté le 27-08-2002 à 18:43:02    

J'essaie de suite et vous tiens au courant.

Reply

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).

Reply

Marsh Posté le 27-08-2002 à 18:55:42    

moral, css powa  :)  
 
 
 :D

Reply

Marsh Posté le 27-08-2002 à 19:10:58    

Perso, pour faire des bordures dans un tableau, j'utiliserais un truc de ce genre :
 
http://pikas.net.free.fr/bords.png

Reply

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%


Message édité par gm_superstar le 27-08-2002 à 19:16:56
Reply

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)


Message édité par Profil supprimé le 27-08-2002 à 19:19:12
Reply

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.

Reply

Marsh Posté le 27-08-2002 à 19:35:54    

:D Ma tante, institutrice, m'a dit que j'ai la fibre pédagogique :ange:


Message édité par Profil supprimé le 27-08-2002 à 19:36:09
Reply

Marsh Posté le 27-08-2002 à 22:41:50    

w3c, avec un nom pareil tu dois pas surfer avec ie :lol:

Reply

Marsh Posté le 27-08-2002 à 23:24:36    

Ben si  :D  
 
mais j'ai aussi Mozilla, Netscape, Opera, Amaya et Lynx  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed