element-ui的table列超出部分省略加悬浮提示

<el-table-column :show-overflow-tooltip="true">
</el-table-column>
### 解决 `el-table` 表格中文本超出三行时的显示问题 对于 `el-table` 中文本超出指定行数后的处理方式,可以通过 CSS 控制来实现特定的效果。当涉及到文本超过三行的情况时,可以采用如下策略: 为了使文本在超过三行时被截断并显示省略号,在样式上需做特殊调整。具体来说,通过自定义 `.cell` 类中的样式属性,能够达到预期效果。 ```css /* 定义全局样式 */ .el-table .cell { display: -webkit-box; -webkit-line-clamp: 3; /* 设置最大行数为3 */ -webkit-box-orient: vertical; overflow: hidden; } ``` 上述代码片段设置了 `-webkit-line-clamp` 属性用于控制最多显示的行数,并将其设为3表示只允许展示前三行的内容;同时配合其他两个属性确保内容不会溢出容器边界[^1]。 如果希望仅针对某个具体的表格应用此规则,则可以在局部范围内使用 `/deep/` 或者更推荐的方式是利用 Vue 的 scoped 样式特性上额外的选择器前缀来进行限定作用域内的修改: ```scss <style scoped> /deep/ .specific-class-name .el-table__body-wrapper .el-table__row td div.cell { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } </style> <template> <div class="specific-class-name"> <!-- Your table code here --> </div> </template> ``` 这样做的好处是可以避免影响到页面上的其它组件或元素,保持样式的独立性和可维护性[^3]。 另外,为了让用户能够在悬停时查看完整的文本信息而不必依赖于 Element UI 自带的 Tooltip 组件,可以直接借助 HTML 原生的 title 属性完成这一功能。只需简单地将目标字符串赋值给对应单元格的 title 即可。 #### 示例代码 以下是结合以上几点的一个完整示例: ```html <template> <el-table :data="tableData" style="width: 100%"> <!-- 使用 v-bind 动态绑定 title 属性 --> <el-table-column prop="description" label="描述" width="280px"> <template slot-scope="scope"> <span :title="scope.row.description">{{ scope.row.description }}</span> </template> </el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [ { description: '这是一段非常长的文字说明...' } ] }; } }; </script> <style scoped> /deep/ .el-table__body-wrapper .el-table__row td div.cell { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } </style> ``` 这段代码实现了在一个名为 "描述" 的中,当文本长度超过三行时自动裁剪并在鼠标悬浮时显示出完整内容的功能[^2]。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值