Problème pour faire défiler tbody sur IE 9 (tbody hauteur = hauteur de la ligne)

Désolé pour mon mauvais anglais, j'espère que vous allez comprendre ce que je veux dire...

Je suis en train de mettre en œuvre un tableau HTML qui charge le défilement de la table des organismes indépendamment de l'en-tête du tableau.

J'ai trouvé la question suivante qui m'a beaucoup aidé :
Comment faire défiler la table "tbody" indépendant "thead"?

J'ai testé le code suivant, il fonctionne sur Chrome (22), Firefox (16) et l'Opéra (12) sans problème :

HTML :

<table>
  <thead>
   <tr>
    <th>Title1</th>
    <th>Title2</th>
    <!-- ... -->
   </tr>
  </thead>
  <tbody>
   <tr>
     <td>...</td>
     <td>...</td>
     <!-- ... -->
   </tr>
   <!-- ... -->
  </tbody>
</table>

CSS :

thead, tbody {
    display: block;
}

tbody {
    height:500px;
    overflow-y:auto;
    overflow-x:hidden;
}

thead {
    line-height: 20px;
}

De sorte qu'il fonctionne sur les principaux navigateurs sauf IE 9, sur IE, j'ai quelques questions :

  • La tbody la hauteur n'est pas définie (donc je n'ai pas de barre de défilement)
  • Chacun a une hauteur de 500px (la tbody de la hauteur sur les autres navigateurs)

Les deux exemples suivants ont exactement les mêmes questions : http://jsfiddle.net/nyCKE/2/ , http://www.imaputz.com/cssStuff/bigFourVersion.html

J'ai vu la question suivante (et la réponse), mais il ne m'aide pas : IE9 + css : problème fixe avec en-tête de tableau

Donc je suis sûr que le bug vient de IE mais je n'ai aucune idée de comment résoudre ce problème sans changer ma structure HTML.

Avoir quelqu'un à une idée ?

OriginalL'auteur Dorian | 2012-10-11