【发布时间】:2017-01-17 22:51:57
【问题描述】:
我有这个要求,用户希望看到需要失去水平滚动的巨大表格。问题是在设置了页眉/内容/页脚布局(flexbox)之后加载了数据表。当它加载时,它最终会加载到所有内容之外(如下面的屏幕截图所示)并且看起来很糟糕。
它看起来很好,直到您一直向右滚动,然后您可以看到表格超出了页眉和页脚。
.container {
display: flex;
-ms-flex-direction: column;
height:100vh;
flex-direction: column;
min-height: 100vh;
}
.row-wrapper{
display: flex;
flex-direction: row;
}
nav {
flex: 0 0 30px;
}
main{
margin-left:5px;
flex:1
}
header {
background: blue;
color: white;
}
footer {
background: black;
color: white;
}
header, footer{
display: block;
flex:none;
}
<div class ="container">
<header>I AM HEADER</header>
<div class="row-wrapper">
<nav>Side links</nav>
<main>
<table>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
<td>50</td>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
<td>50</td>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
<td>50</td>
</tr>
</table>
</main>
</div>
<footer>I AM FOOTER </footer>
</div>
如何让 flexbox 布局重新调整以适应这个新的巨大表格?
【问题讨论】:
-
Flexbox 确实可以适应新的内容(事实上,CSS 通常会这样做)。这意味着您还有其他一些问题会阻止对该表进行计数。我的第一个猜测是
display: absolute;或类似的东西。 -
感谢您的回复.. 我刚刚添加了一个更清楚地说明问题的 jsfiddle
标签: html css flexbox tablelayout