Element UI 设置 el-table-column 宽度 width 为百分比无效

问题描述: 想要每列宽度不同,不想使用 px 固定值,将 width 设置成百分比,但是每一列还是很窄

原因: el-table 组件会被 vue 解析成 html,vue 直接把百分号去掉把数值当做列宽来呈现,所以,width 设置百分比的值直接被解析去掉百分号% 变成 px 了

解决方案: 使用 min-width 代替 width

需要注意的是:width,min-width 的原理都是将值百分比去掉变成 px,可是 min-width 会按照比例分配剩余空间,并非直接算的百分比。因此要每一列都设置 min-width 才能实现每一列的百分比配置,设置成 min-width 以后,width 的值就被计算成 (当前值 / 全部列值和)的百分比了

复制代码
<el-table v-loading="loading" :data="tableData">
    <el-table-column prop="id" label="ID" min-width="6%"></el-table-column>
    <el-table-column prop="name" label="姓名" min-width="12%"></el-table-column>
    <el-table-column prop="create_time" label="创建时间" min-width="24%"></el-table-column>
    <el-table-column prop="update_time" label="更新时间" min-width="24%"></el-table-column>
</el-table>
相关推荐
QCzblack2 分钟前
BugKu BUUCTF ——Reverse
java·前端·数据库
gwjcloud2 分钟前
基于linux下docker部署前端vue项目
前端·javascript·vue.js
小李子呢02116 分钟前
前端八股CSS(1)---响应式布局的方法
前端·css
小李子呢02111 小时前
前端八股Vue(6)---v-if和v-for
前端·javascript·vue.js
程序员buddha1 小时前
ES6 迭代器与生成器
前端·javascript·es6
周周记笔记1 小时前
初识HTML和CSS(一)
前端·css·html
chxii2 小时前
在 IIS 中实现 SSL 证书的自动续期
前端
周星星日记2 小时前
vue3中静态提升和patchflag实现
前端·vue.js·面试
橘子编程2 小时前
React 19 全栈开发实战指南
前端·react.js·前端框架
DanCheOo2 小时前
AI Streaming 架构:从浏览器到服务端的全链路流式设计
前端·agent