gpt4 book ai didi

html - 如何在不显式设置高度的情况下使表格显示垂直滚动条?

转载 作者:行者123 更新时间:2023-11-28 08:33:25 25 4
gpt4 key购买 nike

我有一些显示表格的代码。如果浏览器宽度减小到表格比它宽,则表格而非浏览器会出现滚动条。这按照我想要的方式工作。但是,当我降低浏览器窗口的高度时,滚动条出现在浏览器上而不是表格上。

如何让滚动条出现在表格上?

如果我将包含表格的 div 的高度设置为一个设定值(例如 height: 100px;),则滚动条会按预期出现。我不想这样做。我只想让表格根据需要用完屏幕上的所有垂直空间,一旦溢出,表格上就会出现一个滚动条。

这是 fiddle这是代码:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Pivot Web</title>
<link rel="stylesheet" href="style3.css">
</head>
<body>

<div id="main-content">

<div id="field-selection-area">
<ul class="no-text-selection">
<li draggable="true">Period</li>
<li draggable="true">Trade ID</li>
</ul>
</div>

<div id="field-table-area">
<div id="field-config-area">
<div id="row-field-area" class="no-text-selection field-area">
Drop Row Fields Here
</div>
<div id="column-field-area" class="no-text-selection field-area">
Drop Column Fields Here
</div>
</div>

<div id="table-area">
<table>
<tr><td>18.0</td><td>18.0</td><td>18.0</td><td>18.0</td><td>18.0</td><td>18.0</td><td>18.0</td><td>18.0</td><td>18.0</td><td>18.0</td></tr>
<tr><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td></tr>
<tr><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td></tr>
<tr><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td></tr>
<tr><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td><td>5.3</td></tr>
</table>
</div>
</div>
</div>

</body>
</html>

和CSS:

#main-content{
display: flex;
background-color: lightblue;
}

#field-selection-area{
flex-shrink: 0;
border: 1px darkgrey solid;
background-color: aliceblue;
}

#field-selection-area ul{
list-style: none;
padding: 4px;
margin: 0;
}

#field-selection-area ul li{
padding: 4px;
}

#field-table-area{
border-right: 1px darkgrey solid;
border-bottom: 1px darkgrey solid;
}

.field-area {
border-top: 1px darkgrey solid;
padding: 4px;
background-color: aliceblue;
}

#table-area{
border-top: 1px darkgrey solid;
overflow: auto;
background-color: white;
height: 100px;
}

#table-area table td{
border: 1px darkgrey solid;
}

我希望我已经解释得足够好。

最佳答案

设置相对于视口(viewport)的高度。

#table-area {max-height: 100vh;}

或者,您可以根据视口(viewport)调整整个主体的大小,使用 flexboxes 将其分成多个小节,它会根据可用空间和内容的需求自动调整自己的大小,然后在表格的 flexbox 容器上设置 overflow:auto。这会给页面带来更多“桌面应用程序”的感觉,您在包含大量数据的可滚动子部分周围有一些固定的 UI 元素。

关于html - 如何在不显式设置高度的情况下使表格显示垂直滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28176716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com