Skip to content

高度自适应的表格

🕒 Published at:

你还在傻傻的为了高度自适应让下面某个内容固定而在js计算高度手动设置吗?

看到这里恭喜你知道了css也能实现,简单粗暴

html
<template>
    <div class="full-block flex-layout">
        <div class="flex-auto">
            <el-table :data="tableData" height="100%">
                <el-table-column prop="date" label="Date" width="180" />
                <el-table-column prop="name" label="Name" width="180" />
                <el-table-column prop="address" label="Address" />
            </el-table>
        </div>
        <div class="flex-none">
            <el-pagination layout="prev, pager, next" :total="50" />
        </div>
    </div>
</template>

<script setup>
const tableData = [
    {
        date: "2016-05-03",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles"
    },
    {
        date: "2016-05-02",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles"
    },
    {
        date: "2016-05-04",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles"
    },
    {
        date: "2016-05-01",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles"
    },
    {
        date: "2016-05-01",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles"
    },
    {
        date: "2016-05-01",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles"
    },
    {
        date: "2016-05-01",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles"
    },
    {
        date: "2016-05-01",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles"
    },
    {
        date: "2016-05-01",
        name: "Tom",
        address: "No. 189, Grove St, Los Angeles"
    }
];
</script>

<style lang="scss">
.full-block {
    height: 100%;
    width: 100%;
    overflow: hidden;
    background: #fff;
}
.flex-layout {
    display: flex;
    flex-direction: column;
}
.flex-auto {
    flex: 1 1 auto;
    height: calc(100% - 50px);
}
.flex-none {
    flex: none;
    display: flex;
    justify-content: flex-end;
}
</style>