css – 如何使div高度100%内部td的100%

前端之家收集整理的这篇文章主要介绍了css – 如何使div高度100%内部td的100%前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题似乎在stackoverflow上至少有10次,但是其中一个实际上没有答案.这一点略有不同,因为问题出现在Firefox中.

我的桌子高度为100%,高度为100%.我把td的边界设置成可以看到的东西.我看到td是预期的100%.我把一个div放在那个td里,把它设置为100%.在Chrome中是100%.在Firefox中不是100%.

我该如何解决

<!DOCTYPE html>
<html>
<head>
<style>
body,html {
    width: 100%;
    height: 100%;
    padding: 0px;
    margin: 0px;
}
.full {
    width: 100%;
    height: 100%;
    border: 10px solid red;
}
#content {
    width: 100%;
    height: 100%;
}

#content>table {
    width: 100%;
    height: 100%;
}
#content>table>tbody>tr>td {
    border: 10px solid blue;
    width: 50%;
}
#container {
    width: 100%;
    height: 100%;
    border: 10px solid black;
}
</style>
</head>
<body>
<div id="content">
  <table>
    <tr>
      <td>
        <div id="container">
          <div class="full">
            foo
          </div>
        </div>
      </td>
    </tr>
  </table>
</div>
</body>
</html>

这是一个片段

body,html {
        width: 100%;
        height: 100%;
        padding: 0px;
        margin: 0px;
    }
    .full {
        width: 100%;
        height: 100%;
        border: 10px solid red;
    }
    #content {
        width: 100%;
        height: 100%;
    }

    #content>table {
        width: 100%;
        height: 100%;
    }
    #content>table>tbody>tr>td {
        border: 10px solid blue;
    }
    #container {
        width: 100%;
        height: 100%;
        border: 10px solid black;
    }
<div id="content">
      <table>
        <tr>
          <td>
            <div id="container">
              <div class="full">
                foo
              </div>
            </div>
          </td>
        </tr>
      </table>
    </div>

在Chrome中,您会看到

bbbbbbbbbbb
 b#########b
 b#rrrrrrr#b
 b#r     r#b
 b#r     r#b
 b#r     r#b
 b#rrrrrrr#b
 b#########b
 bbbbbbbbbbb

而在Firefox它是

bbbbbbbbbbb
 b         b
 b#########b
 b#rrrrrrr#b
 b#r     r#b
 b#rrrrrrr#b
 b#########b
 b         b
 bbbbbbbbbbb

其中b =蓝色td. #=黑色div应该是100%. r =红色内部div,也应该是100%(显然是在任一情况下).这是黑色的错误.

在这种情况下,我需要修复什么CSS以使Firefox像Chrome这样的行为?

PS:是的,我需要一张桌子.我正在显示表格数据.以上示例简化为单个单元以简化调试.

解决方法

您还需要将td的高度设置为100%:
<td style="height: 100%">

jsFiddle

猜你在找的CSS相关文章