Bonjour, après avoir écumé Google, et votre site, je me résoud à demander de l'aide.
Je dois afficher un datagrid dans un conteneur, (div), avec un overflow et une zone qui permet de faire amortisseur entre mon footer et la dernière ligne du tbody, un tr à height:100%.

Dans IE l'affichage me convient, mais dans FireFox j'ai un soucis.
Voir les captures d'écran ci-dessous :

upload/9870-IE6.gif
upload/9870-FF1.5.gif


Attention, je ne veux pas recoder le datagrid avec n-div et du css, ce n'est pas le but. Je suis dans une application professionnelle complexe et non pas un site web avec 4 pages.

De plus je ne connais jamais les hauteurs et les largeurs.
Tout est calculé en relatif.

Voici mon code html :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
TD {overflow:hidden;white-space:nowrap;border:1px solid #CCCCCC;height:20px}
</style>
</head>

<body style="margin:0px;overflow:hidden">
	<div id="conteneur" style="overflow-x:scroll;overflow-y:scroll;width:100%;height:100%">
		<table style="width:100%;height:100%;table-layout:fixed;" border="0" cellspacing="0" cellpadding="0">
			<colgroup>
				<col style="width:0px;" />
				<col style="width:25px;" />
				<col style="width:278px;" />
				<col style="width:83px; " />
				<col style="width:100%;" />
			</colgroup>
			<thead>
				<tr>
					<td>Header 1</td>
					<td>Header 2</td>
					<td>Header 3</td>
					<td>Header 4</td>
					<td>Header 5</td>
				</tr>
		  	</thead>
			<tbody>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					</tr>    
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr style="height:100%;">
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
			</tbody>
			<tfoot>
				<tr>
					<td colspan="5">Footer</td>
				</tr>
			</tfoot>
		</table>
	</div>
</body>
</html>


Merci pour vos réponses.
Modifié par Guillaume34 (08 Dec 2006 - 11:38)
Administrateur
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
Raphael a écrit :
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif


Bonjour, désolé pour l'envoi de mon message qui était mal formé.
Smiley confused J'ai rectifié le tir. [J'espère] Smiley biggol
Je vais continuer à chercher sur votre forum les réponses à ma question, j'ai peut-être mal orienté mes recherches.
Bonne journée.
Smiley smile
Bienvenue.

Je n'ai pas trop compris ce qui ne te convenait pas.

Je ne vois pas bien tes captures d'écran mais si ce qui te soucie c'est le fait que la 1° col n'apparait pas sous FF, c'est plutôt normal avec un width à 0px pour cette colonne et un width à 100% pour la dernière.

Par ailleurs, moi je mets

<col width=x>

plutôt que

<col "style=width...">

Maintenant je ne sais pas si cela y est pour quoi que ce soit.
Modifié par aCOSwt (08 Dec 2006 - 11:55)
Bonjour aCOSwt,
en fait le problème ne se situe pas dans la largeur mais dans la hauteur.
Dans Firefox l'overflow du div contenant le tableau (axe y) déborde sur mon tableau et masque le footer, ce qui est génant, pas dans IE.
Pour la colonne à 0px de large elle contient à terme des données cacheés, celle à 100% sert d'amortisseur.
Pigé !

Je vois que FF te fait une barre de scroll.
Le problème ne viendrait-il pas du height=100% de ta <table> ?

Ou du height à 100% de ton div ?

Essaye avec des valeurs en px pour ces deux pour voir
Modifié par aCOSwt (08 Dec 2006 - 12:01)
Ben non, justement il faut que le tableau fasse 100% de la hauteur du conteneur (le div) de telle façon à ce que le footer soit lui toujours en bas.
Guillaume34 a écrit :
Ben non, justement il faut que le tableau fasse 100% de la hauteur du conteneur (le div) de telle façon à ce que le footer soit lui toujours en bas.


Alors c'est le 100% du div !
Essaye avec une valeur fixe en px pour le height du div