我的页面上有很多行的表格。我想设置表的高度,例如500px,这样如果表的高度大于那个,就会出现一个垂直滚动条。我尝试在height
上使用CSS table
属性,但它不起作用。
答案 0 :(得分:150)
尝试使用overflow
CSS属性。还有单独的属性来定义仅水平溢出(overflow-x
)和垂直溢出(overflow-y
)的行为。
由于您只想要垂直滚动,请尝试:
table {
height: 500px;
overflow-y: scroll;
}
修改强>
显然<table>
个元素不尊重overflow
属性。这似乎是因为<table>
元素默认情况下不会呈现为display: block
(它们实际上有自己的显示类型)。您可以通过将overflow
元素设置为块类型来强制<table>
属性工作:
table {
display: block;
height: 500px;
overflow-y: scroll;
}
请注意,这将导致元素具有100%的宽度,因此如果您不希望它占据页面的整个水平宽度,则还需要为元素指定显式宽度。
答案 1 :(得分:54)
您需要将表包装在另一个元素中并设置该元素的高度。内联css示例:
<div style="height: 500px; overflow: auto;">
<table>
</table>
</div>
答案 2 :(得分:2)
要设置表格的高度,需要首先设置css属性“ display:block” 然后您可以添加“宽度/高度”属性。我发现此Mozilla文章是学习如何设置表格样式的很好资源: Link
答案 3 :(得分:1)
这个 CSS 还显示了一个固定高度的 HTML 表格。它将 HTML tbody 的高度设置为 400 像素,当它变大时 HTML tbody 会滚动,将 HTML 顶部保留为非滚动元素。
此外,标题中的每个单元格和正文中的每个 td 单元格都应设置为所需的固定宽度。
#the-table {
display: block;
background: white; /* optional */
}
#the-table thead {
text-align: left; /* optional */
}
#the-table tbody {
display: block;
max-height: 400px;
overflow-y: scroll;
}