返回
突破局限,Element Table高度自适应,无需固定值
前端
2023-10-26 02:28:54
纯CSS使Element Table自适应高度
项目使用了element-ui组件库,其中table使用得很频繁。在使用过程中,我发现,要使得表格自适应且表头固定,必须要传入height。由于table的高度不是一个固定的值,它会随着屏幕的大小而变化,这就导致了一个问题: 每增加一个表格,都必须写入以下内容:
<el-table height="calc(100vh - 200px)" ></el-table>
虽然这种方法可以实现自适应高度,但是每次都要手动计算表格的高度,不仅繁琐,而且容易出错。有没有一种方法可以让我们不用每次都手动计算表格的高度呢?
有的,我们可以使用CSS来实现这个功能。
.el-table {
flex: 1;
height: 100vh;
overflow: auto;
}
这段CSS代码将使Element Table的高度为100vh,并且随着屏幕的大小而变化。同时,它还将使表格的内容自动滚动。
这样,我们就不用每次都手动计算表格的高度了。
当然,你也可以使用JavaScript来实现这个功能。
const tables = document.querySelectorAll('.el-table');
for (const table of tables) {
const height = window.innerHeight - 200;
table.style.height = height + 'px';
}
window.addEventListener('resize', () => {
const height = window.innerHeight - 200;
table.style.height = height + 'px';
});
这段JavaScript代码将获取页面上的所有Element Table,然后为它们设置高度。当窗口的大小发生变化时,它也会重新计算表格的高度。
这样,我们就不用每次都手动计算表格的高度了。
无论是使用CSS还是JavaScript,我们都可以轻松地实现Element Table的自适应高度。这将使我们的页面更加灵活,更加美观。
提示:
- 如果你使用的是Element Table的固定表头,那么你需要在CSS代码中添加
position: relative;
。 - 如果你使用的是Element Table的动态表头,那么你需要在JavaScript代码中添加
table.style.height = window.innerHeight - 200 + 'px';
。
现在,你已经学会了如何使用CSS或JavaScript来实现Element Table的自适应高度。赶快在你的项目中试用一下吧!