这个问题似乎在stackoverflow上至少有10次被问到,但其中没有一个实际上有答案.这个问题略有不同,因为问题出现在Firefox中.
我的table身高100%,tr身高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>
Run Code Online (Sandbox Code Playgroud)
这是一个片段
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;
}Run Code Online (Sandbox Code Playgroud)
<div id="content">
<table>
<tr>
<td>
<div id="container">
<div class="full">
foo
</div>
</div>
</td>
</tr>
</table>
</div>Run Code Online (Sandbox Code Playgroud)
在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
Run Code Online (Sandbox Code Playgroud)
而在Firefox中它是
bbbbbbbbbbb
b b
b#########b
b#rrrrrrr#b
b#r r#b
b#rrrrrrr#b
b#########b
b b
bbbbbbbbbbb
Run Code Online (Sandbox Code Playgroud)
其中b =蓝色td.#=黑色div应该是100%.r =红色内部div也应该是100%(显然在任何一种情况下).这是黑色的错误.
在这种情况下,我需要修复哪些CSS才能让Firefox像Chrome一样运行?
PS:是的我需要一张桌子.我正在显示表格数据.上面的示例简化为单个单元以简化调试.
Tom*_*zan 21
您还需要将td的高度设置为100%:
<td style="height: 100%">
Run Code Online (Sandbox Code Playgroud)