3

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

我有最小的解决方案 - 这仅适用于 Chrome 和 Firefox。在 Opera 和 IE 中,子 div 具有顶部表格大小。没有js的opera和ie有解决方案吗?

好的:

好的

坏的:

在此处输入图像描述


更新 #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;
}
4

1 回答 1

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" />
于 2013-03-28T15:52:56.493 回答