一、 实现思路

我们都知道让溢出内容变成...,只需要以下:

overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;

表格里的内容直接引用这段代码可不行。

因为table的宽度我们并不能控制,我们加的内容会自动撑大表格列表宽度.

关键的一步是给table加上一个样式:table-layout:fixed;

这条属性就是让table的内部布局固定大小

归纳总结Table要实现这个功能,需要这几个条件:

  1. table宽度可控: table-layout:fixed;
  2. 父层(table)宽度固定,并且设置超出隐藏:
width: 500px;
overflow: hidden;
  1. 应用的列加上以下样式:
white-space: nowrap;        //强制不换行
overflow: hidden; //超出部分隐藏
text-overflow: ellipsis; //显示省略符号来代表被修剪的文本

二、 普通Table

为了美观,加了一些css样式,大家可以忽略,重点看带有***的即可

//css
<style>
table{
table-layout:fixed; //******
} .gridtable {
width: 500px; //******
overflow: hidden; //******
font-family: verdana,arial,sans-serif;
font-size:11px;
color:#333333;
border-width: 1px;
border-color: #666666;
border-collapse: collapse;
margin: 20px auto;
text-align: center;
}
.gridtable th {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #dedede;
}
.gridtable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #ffffff;
}
.personInfo{
white-space: nowrap; //******
overflow: hidden; //******
text-overflow: ellipsis;//******
}
</style> //html
<table class="gridtable">
<tr>
<th style="width:100px">姓名</th>
<th style="width:100px">年龄</th>
<th class="personInfo">信息</th>
</tr>
<tr>
<td>xiaobe</td>
<td>18</td>
<td class="personInfo">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaa</td>
</tr>
<tr>
<td>xiaobi</td>
<td>20</td>
<td class="personInfo">bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbb</td>
</tr>
</table>

效果:

三、 ANT Design实现

//css
table{
table-layout:fixed;
}
.resultColumns{
overflow: hidden;
}
.resultColumnsDiv{
width:92%;
word-break: keep-all;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
//html
let columns = [
{
title: '姓名',
dataIndex: 'name',
key: 'name',
width: 150
}, {
title: '年龄',
dataIndex: 'age',
key: 'age',
width: 350,
}, {
title: '信息',
dataIndex: 'info',
key: 'info',
className: styles.resultColumns,
render:
(text, record) => (
<div title={record.result} className={styles.resultColumnsDiv}>{record.result}</div>
),
},
]
let detectList = [{
key: 1,
name: 'xiaobe',
age: 18,
info: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaa'
},{
key: 2,
name: 'xiaobi',
age: 20,
info: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbb'
},] <Table
className={styles.detectListTable}
dataSource={detectList}
columns={columns}
/>

注意: 我们可以不用给省略的列加宽度,给其他的列固定宽度后,antd会自动计算该列的宽度.

如果三列都设置了宽度,会导致无效的。antd还是会按照原来百分比计算

因为引入antd比较麻烦,所以就没有放出效果图。有什么疑问,欢迎留言

最新文章

  1. Knockout.Js官网学习(value绑定)
  2. nuget包管理器控制台下的powershell脚本介绍
  3. C#4.0新特性(3):变性 Variance(逆变与协变)
  4. skyline TerraBuilder 制作MPT方法与技巧(2)
  5. Linux libtins 库安装教程
  6. Java基础知识强化92:日期工具类的编写和测试案例
  7. 如何看linux是32位还是64位
  8. .net通用权限框架B/S (五)--WEB(3)组织机构
  9. SICP 习题 (1.10)解题总结
  10. nuget 服务器崩溃
  11. twitter的ID生成器的snowFlake算法的自造版
  12. SpringMvc笔记-对RESTFUL风格的配置
  13. rsync 自动创建目录的坑点
  14. 分布式监控系统开发【day38】:主机存活检测程序解析(七)
  15. Bootstrap modal模态框关闭时,combobox input下拉框仍然保留在页面上
  16. htmlElement.style 是只读属性
  17. lesson5rnns-fastai
  18. SikuliI:安装过程(Windows)
  19. WPF编程,获取句柄将外部程序嵌入到WPF界面。
  20. 5、redis之使用spring集成commons-pool

热门文章

  1. Symfony2 学习笔记之控制器
  2. 使用Fiddler测试WebApi接口
  3. js中使用0 “” null undefined {}需要注意
  4. 每日linux命令学习-xargs命令
  5. 虚拟继承C++
  6. MD5加密算法Java代码实现
  7. 状态管理之cookie使用及其限制、session会话
  8. Python笔记 #21# DHNN
  9. 开启redis-server提示 # Creating Server TCP listening socket *:6379: bind: Address already in use--解决方法
  10. nGrinder Maven工程使用