如何在动态表格单元格中创建100%高度的div?

时间:2013-03-28 15:16:26

标签: html css internet-explorer html-table opera

我有动态和静态表格单元格。我需要在动态表格单元格中创建100%高度的div。

我的解决方案很少 - 仅适用于Chrome& Firefox浏览器。在Opera& IE子div具有顶级表大小。是否有歌剧的解决方案,即没有js?

好:

good

坏:

enter image description here


更新#1 适用于Chrome,FF和Opera( Presto ):

<table class='m-table'>
    <tr>
      <td class='m-top-cell'>
        <div class="b-subtable">
          <div class="b-content"></div>
        </div>
      </td>
    </tr>
    <tr>
      <td class='m-bottom-cell'></td>
    </tr>
  </table>

.m-table {
  width: 100px;
  height: 250px;
  margin: 0 auto;
  position: relative;
  border-spacing: 0;
  padding: 0;

  border: 1px solid blue;
}

.m-top-cell {
  height: 100%;
  position: relative;

  background-color: red;
}

.m-bottom-cell {
  background-color: gold;
  height: 200px;
}

.b-subtable {
  background-color: #E76D13;
  border: 1px solid #E76D13;
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 5px;
  right: 5px;
}

@-moz-document url-prefix() {
  .m-top-cell {
      padding: 5px;
  }

  .b-subtable {
    position: relative;
    display: table;
    height: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
  }

  .b-subtable:after {
    content: '. .';
    display: block;
    word-spacing: 99in;
    height: 0;
    overflow: hidden;

    font-size: 0.13em;
    line-height: 0;
  }
}

.b-content {
  background-color: orange;
  width: 15px;
  height: 15px;

  position: absolute;
  left: 10px;
  top: 10px;
}

1 个答案:

答案 0 :(得分:0)

这应该有效:

.m-top-cell{    
    /* other css properties */
    /*remove height:100% */ 
    position:relative;

}

.b-subtable{
    /* other css properties */
    /* remove height: 100% and display: table */
    position: absolute;
    top: 5px;
    bottom: 5px;
    left: 5px;
    right: 5px;
}

并检查您的link标记符号

<link rel="stylesheet" href="table.css" type="text/css" />