table固定列的宽度,超出部分用…代替(针对普通table和antd)
一、 实现思路
我们都知道让溢出内容变成...,只需要以下:
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
表格里的内容直接引用这段代码可不行。
因为table的宽度我们并不能控制,我们加的内容会自动撑大表格列表宽度.
关键的一步是给table加上一个样式:table-layout:fixed;
这条属性就是让table的内部布局固定大小
归纳总结Table要实现这个功能,需要这几个条件:
- table宽度可控:
table-layout:fixed; - 父层(table)宽度固定,并且设置超出隐藏:
width: 500px;
overflow: hidden;
- 应用的列加上以下样式:
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比较麻烦,所以就没有放出效果图。有什么疑问,欢迎留言
table固定列的宽度,超出部分用…代替(针对普通table和antd)的更多相关文章
- html table 固定列
css固定列: .td1{ position: sticky; z-index: 1; left:0; }
- 关于bootstrap table 固定列宽
首先为table 设置 style="table-layout: fixed;" <table id="assessStage" data-height= ...
- ivew Table 固定列设置后,底部拖拽的横轴被覆盖拉不动
原因:设置了max-height=500px:表格最大高度,单位 px,设置后,如果表格内容大于此值,会固定表头.去掉即可.
- bootstrap table实现iview固定列的效果
因为bootstrap自带的固定列效果满足不了公司需求,所以借助fixed-table这个插件完成了iview固定列的效果 <!DOCTYPE html> <html lang=&q ...
- 纯css实现table表格固定列和表头,中间横向滚动的思路-附案例
最近做的后台管理系统要处理大量的表格 原项目是采用的for循环加拼接字符串的方式实现;导致js代码一大堆;各种单引号和双引号的嵌套;让人头疼;遂引入vue.js;用v-for做模板渲染;工作量顿时减轻 ...
- layui table 数据表格固定列的行高和table其他列的行高不一致
1.问题描述:使用layui的table数据表格,固定某一列,这样表格中数据的宽度超出屏幕宽度时,固定列可以一直显示在屏幕中,不会随着底部滚动栏左右的拖动而变化位置.但是遇到一个问题,就是固定列的行高 ...
- table固定前两列和最后一列,其他滑动显示
网上搜的基本都是4个table做的,数据处理比较麻烦,写了个一个table的,此示例只固定了前两列和最后一列,和网上的不太一样. 网上搜的基本都是4个table做的,数据处理比较麻烦,写了个一个tab ...
- html table 固定表头和列
/**************************************************************** jQuery 插件. 功能: 固定表格标题行或列头 Version: ...
- vue中获取滚动table的可视页面宽度,调整表头与列对齐(每列宽度不都相同)
mounted() { // 在mounted中监听表格scroll事件 this.$refs.scrollTable.addEventListener( 'scroll',(event) => ...
随机推荐
- 你知道CSS实现水平垂直居中的第10种方式吗?
你知道CSS实现水平垂直居中的第10种方式吗? 仅居中元素定宽高适用: absolute + 负 margin absolute + margin auto absolute + calc 居中元素不 ...
- java连接oracle数据库使用SERVICE NAME、SID以及TNSName不同写法
格式一: 使用ServiceName方式: jdbc:oracle:thin:@//<host>:<port>/<service_name> 例 jdbc:orac ...
- 51Nod 1256 乘法逆元
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1256 给出2个数M和N(M < N),且M与N互质,找 ...
- P2800 又上锁妖塔
P2800 又上锁妖塔 [温馨提示]使用仙术时飞过一层塔不花费时间,若爬过去,该层有多高,就要花费多长时间 我们可以用 f [ i ] 表示到达第 i 层时所用最短时间 到达第 i 层可 ...
- 单例设计模式 --c#
单例设计模式:在单例设计模式中我们要保持对象始终是唯一的 参考代码: class SingleObject { private SingleObject() { } private static Si ...
- centos6二进制安装mysql5.5
centos 6.5,安装mysql 5.5.60 所需安装包mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz.ncurses-devel-5.7-4.200902 ...
- 使用 select 实现 goroutine 超时
虽然携程是Go语言中一个新的概念,嗯,但它本质上依然是属于多线程.超时机制是多线程中是一个非常重要的保障程序的鲁棒性的一个措施:错误是很难预估的,在多线程中更为显著,更容易出现难以预料的错误. 一个异 ...
- postman 带变量参数使用方法
设置代码组变量后就可以在这个组内所有接口使用这些变量了,代码用的是js语法: 代码编写的快捷方法在这里: 然后就可以在接口中使用这些变量了,当然也可以直接在接口中写这些变量
- Static变量与代码块
* static:是一个关键字,用于修饰成员变量和成员方法 * static的特点: * 被所有的对象所共享 * 可以使用类名调用 * 静态的加载优先于对象 * 随着类的加载而加载 * static的 ...
- shell脚本之 给PNG图片添加后缀@3x
1,给png图片加上后缀@3x #!/bin/sh #root_src=$(dirname $(PWD)) #echo ${root_src} image_path=${root_src}/image ...