搜索
首页web前端css教程table表格里怎样增加省略号功能

这次给大家带来table表格里怎样增加省略号功能,table表格里增加省略号功能的注意事项有哪些,下面就是实战案例,一起来看一下。

1.起因

接到需求,说如果 table 里的字太多就用省略号,很自然就想到 text-overflow:ellipsis (,注意:overflow: hidden; text-overflow:ellipsis; white-space:nowrap 一定要一起用),但是在 table 中不起作用,立即百度,说要想起作用需给 table元素 设定 table-layout: fixed ,果然起作用了。

2. text-overflow:ellipsis 起作用的前提

一定要给容器定义宽度(重点)

如果少了overflow: hidden;文字会横向撑到容易的外面

如果少了white-space:nowrap;文字会把容器的高度往下撑;即使你定义了高度,省略号也不会出现,多余的文字会被裁切掉

如果少了 text-overflow:ellipsis; 多余的文字会被裁切掉,就相当于你这样定义 text-overflow:clip

3.上面重点的前提

一定要给容器定义宽度,这就是 table-layout: fixed 起作用,而 table-layout: auto(table元素默认 auto ) 不起作用的原因,下面一段来自 css2.1 中文版规范:

'table-layout'
Value:  auto | fixed | inherit
Initial:  auto
Applies to:  'table'和'inline-table'元素
Inherited:  no
Percentages:  N/A
Media:  visual
Computed value:  与指定值相同

'table-layout'属性控制用于表格单元,行和列布局的算法。值含义如下:
fixed: 用固定表格布局算法
auto: 用任意自动表格布局算法

(fixed和auto区别就是一个固定,一个自动)

下文描述了这两种算法:

在固定表格布局算法中(fixed),每列的宽度由下述规则决定:

一个 width 属性值不为'auto'的列元素所在的列宽度就设置为该宽度值

否则,由第一行中 width 属性值不为'auto'的单元格确定该列的宽度。如果单元格跨越了多列,就把宽度分到这些列中(the width is divided over the columns)

所有剩余列均分剩余的水平表格空间 (减去边框或单元格间距)

3中说到,所有剩余列均分剩余的水平表格空间,实际情况就是table将剩余列的宽度平均分,固定每列的宽度就是 剩余宽度/剩余列数 ,text-overflow:ellipsis 起作用的前提就是一定要给容器定义宽度,所以fixed起作用了

在自动表格布局算法中(fixed),列宽由下列步骤决定:

计算每个单元格的最小内容宽度(MCW):格式化的内容可以跨越任意多行,但不能从单元格溢出。如果单元格指定的'width'(W)大于MCW,W就是最小单元格宽度。'auto'值表示MCW是最小单元格宽度,然后,计算每个单元格的“最大”宽度:格式化内容,不考虑除显式换行外的换行

对于每一列,从只跨越该列的单元格中确定一个最大和最小列宽。最小列宽是最小单元格宽度中最大的那个所需要的最小列宽(或者列'width',看哪个更大)。最大列宽是最大单元格宽度中最大的那个所需要的最大列宽(或者列'width',看哪个更大)

对于每个跨越多列的单元格,增加它跨越的列的最小宽度,让它们至少与单元格一样宽。对于最大宽度也这样处理。如果可能的话,把跨越的所有列再扩宽差不多相同宽度

对于每个'width'不为'auto'的列组元素,增加它跨越的列的最小宽度,让它们至少与列组的'width'一样宽

其实有些事很简单,但是说起来就是绕嘴。。。
1中说到,如果单元格指定的'width'(W)大于MCW,W就是最小单元格宽度。'auto'值表示MCW是最小单元格宽度。

**情况一:当W > MCW时,W是最小单元格宽度,说明 列宽 = W,列宽 装得下文字,用不上省略号。
情况二:当W < MCW时,MCW是最小单元格宽度时,说明 列宽 = MCW,但是这个MCW是文字撑满下计算出来的,既然是撑满,用省略号干嘛。。。
**
要想在不使用table-layout:fixed的情况下,即table-layout:auto前提下用ellipsis,可以像下面这样做(在td里再套一个元素,对这个元素设置ellipsis)

<style>div {  width: 100px;
}.ellipsis {  text-overflow:ellipsis;  overflow: hidden; 
  text-overflow:ellipsis; 
  white-space:nowrap;
}</style>...<td>
  <div class="ellipsis">
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  </div></td>...

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

怎样使用伪元素first-letter让文字首字母大写

css的Counters属性详解

JavaScript的函数重载详解

前后端数据应该如何科学交互

以上是table表格里怎样增加省略号功能的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
我们如何标记Google字体并创建Goofonts.com我们如何标记Google字体并创建Goofonts.comApr 12, 2025 pm 12:02 PM

Goofonts是由开发人员和设计师丈夫签名的附带项目,它们都是版式的忠实拥护者。我们一直在标记Google

永恒的Web开发文章永恒的Web开发文章Apr 12, 2025 am 11:44 AM

Pavithra Kodmad向人们询问了他们认为是关于网络开发的一些最永恒的文章的建议

与部分元素的交易与部分元素的交易Apr 12, 2025 am 11:39 AM

同一天发表了两篇文章:

使用JavaScript API的状态练习GraphQl查询使用JavaScript API的状态练习GraphQl查询Apr 12, 2025 am 11:33 AM

学习如何构建GraphQL API可能具有挑战性。但是您可以学习如何在10分钟内使用GraphQL API!碰巧的是,我得到了完美的

组件级CMS组件级CMSApr 12, 2025 am 11:09 AM

当一个组件生活在数据查询居住在附近的数据查询的环境中时,视觉组件与

将类型设置在圆上...带偏移路径将类型设置在圆上...带偏移路径Apr 12, 2025 am 11:00 AM

这里是Yuanchuan的一些合法CSS骗局。有此CSS属性偏移路径。曾几何时,它被称为Motion-Path,然后被更名。我

'恢复”在CSS中有什么作用?'恢复”在CSS中有什么作用?Apr 12, 2025 am 10:59 AM

Miriam Suzanne在Mozilla开发人员的视频中解释了该主题。

现代恋人现代恋人Apr 12, 2025 am 10:58 AM

我喜欢这样的东西。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版