Bonjour,
Je suis confronté à un problème sous Firefox ( Opera quant à lui, marche parfaitement ) :
Ma page est composée de table ( contenant thead et tbody ) en float: left
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
<table class="gn_note">
<thead onclick="toggle( this );">
<tr><td colspan="2">titre du tableau</td></tr>
</thead>
<tbody>
<tr><td>ligne 1 c1</td><td>ligne 1 c2</td></tr>
<tr><td>ligne 2 c1</td><td>ligne 2 c2</td></tr>
</tbody>
</table>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
table.gn_note {
border:1px solid black;
float:left;
margin-bottom:20px;
margin-left:20px;
margin-right:20px;
width:350px;
}
table.gn_note tr td {
border:1px dashed blue;
padding:4px 7px;
}
table.gn_note thead tr td {
height:30px;
}
table.gn_note tbody {
display:none;
}
J'ai actuellement 10 table sur ma page, et un click sur le thead affiche le tbody de la table correspondante ( le toggle( this ) )
Lorsque j'ouvre puis referme la toute première table : voici le résulat
http://l.nova.free.fr/bug.png
Si j'ouvre puis ferme la seconde table, la même chose se produit, au décalage près ( la 4é table, qui est à la ligne suivante, viens se mettre sous la 3é )
Si j'ouvre puis ferme la 3é table, tout reviens à la normale : la 4é table viens bien sous la première
De même si je modifie le float ( avec firebug ) pour none, puis left, il remet les tables en place. Mais en javascript, ça refuse de marcher si je ne met pas d'alert( ) entre les deux modifications ( un autre problème, mais si quelqu'un à une idée )
Es ce bien un problème de CSS ? Y'a t'il quelque mots doux à dire à firefox pour qu'il gère ça correctement ?

[edit]
C'est bien un problème de CSS : un tbody n'a pas de display inline ou block, je ne m'étais pas orienté dans la bonne direction, le bug venais d'une augmentation progressive de la taille des tables à chaque passage en display block du tbody
la solution : display table-row-group
[/edit]

Bonne journée.
L.A.