Comment puis-je faire un div remplir une cellule de table entière?

Je suis en train de remplir le centre de la cellule d'un tableau avec un élément div. Pour les fins d'illustrer le problème, la div est de style avec un fond rouge. Il semble que cela fonctionne dans Chrome, mais pas IE. Dans le violon, ci-dessous, c'est à dire est le réglage de la hauteur de la div pour la hauteur minimale nécessaire pour contenir son contenu. En bricoler avec ce problème avec une autre feuille de style CSS paramètres, j'ai réussi à obtenir c'est à dire pour interpréter "height: 100%;" "la hauteur de la fenêtre du navigateur". Toutefois, comme la question des états, que je veux, c'est à dire l'interpréter comme la hauteur de la td cellule. Des idées?

http://jsfiddle.net/UBk79/

CSS:

*{
    padding: 0px;
    margin: 0px;
}
html, body{
    height: 100%;
}
#container{
    height:100%;
    width: 100%;
    border-collapse:collapse;
}
#centerCell{
    border: 1px solid black;
}
#main{
    height: 100%;
    background-color: red;
}

HTML:

<table id="container">
  <tr id="topRow" height="1px">
    <td id="headerCell" colspan="3">
      TOP
    </td>
  </tr>
  <tr id="middleRow">
    <td id="leftCell" width="1px">
      LEFT
    </td>
    <td id="centerCell">
      <div id="main">CENTER</div>
    </td>
    <td id="rightCell" width="1px">
      RIGHT
    </td>
  </tr>
  <tr id="bottomRow" height="1px">
    <td id="footerCell" colspan="3">
      BOTTOM
    </td>
  </tr>
</table>

source d'informationauteur Craig