0

0

bootstrap怎么设置文字超出显示省略号

月夜之吻

月夜之吻

发布时间:2026-03-17 11:30:16

|

645人浏览过

|

来源于php中文网

原创

必须同时满足 white-space: nowrap、overflow: hidden、text-overflow: ellipsis 三个 CSS 条件,且作用于有明确宽度的内层容器(如 td-inner),否则省略号不生效;BootstrapTable 中推荐用 cellStyle + formatter 组合实现,并确保 formatter 返回 outerHTML 以兼容特殊字符和 XSS 防护。

bootstrap 表格列内容超长显示省略号的核心条件

必须同时满足三个 css 条件,缺一不可:white-space: nowrapoverflow: hiddentext-overflow: ellipsis。只加其中一两个,省略号不会出现——这是 80% 的人第一次写就失败的原因。

常见错误现象:文字被截断但没省略号;或者文字换行了,还撑开表格高度;又或者设置了 width 但列宽完全不生效(尤其在 BootstrapTable 中)。

  • white-space: nowrap 是前提:强制单行,否则 text-overflow 不起作用
  • overflow: hidden 必须作用在有明确宽度的容器上(比如 <td> 或其内部 <div>),不能只写在父级 <table>
  • max-widthwidth 更可靠,尤其在响应式布局中;若用 width,需确认父容器未限制其收缩

BootstrapTable 中配置 cellStyle + formatter 的实操要点

直接在 columns 配置里写 cellStyle 控制样式、用 formatter 包一层 DOM 节点来挂 title,是最稳妥的组合。别试图只靠 CSS 类搞定悬停提示——原始值里含 <{、空格等时会出错或被截断。

正确写法示例:

{
  field: 'desc',
  title: '描述',
  width: '250px',
  cellStyle: function (value, row, index, field) {
    return {
      css: {
        'white-space': 'nowrap',
        'text-overflow': 'ellipsis',
        'overflow': 'hidden',
        'max-width': '250px'
      }
    };
  },
  formatter: function (value) {
    const span = document.createElement('span');
    span.title = value || '';
    span.textContent = value || '';
    return span.outerHTML;
  }
}
  • cellStyle 返回的是对象,不是字符串;css 属性名要用引号(如 'max-width'),因为带横线
  • formatter 必须返回字符串(outerHTML)或 DOM 节点,但返回节点在某些版本 BootstrapTable 中可能触发渲染异常,优先用 outerHTML
  • 如果 value 含 HTML 标签或特殊字符,textContentinnerHTML 安全,避免 XSS 和解析错误

为什么单纯加 class 在 th/td 上经常失效

因为 BootstrapTable 渲染后实际结构是:<th><div class="th-inner">标题</div></th><td><div class="td-inner">内容</div></td>。你写的 class 若只作用在 <th><td> 上,样式根本没落到真正承载文字的内层 <div> 上。

Dreamina
Dreamina

字节跳动推出的AI绘画工具,用简单的文案创作精美的图片

下载

所以要么用 cellStyle(它自动作用于 td-inner),要么手动穿透写 CSS:

.bootstrap-table .fixed-table-body .table tbody td .td-inner {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 200px;
}
  • 不要依赖 width 属性控制列宽——BootstrapTable 的列宽计算受表头文字长度、data-card-view 等影响极大
  • 若用自定义 class,务必带上足够强的选择器权重(如上面例子),否则会被插件默认样式覆盖
  • 移动端下 text-overflow: ellipsis 对 flex 布局或某些字体可能不生效,建议加 display: inline-block 保底

多行省略(如最多显示 2 行+省略号)能不能用在表格里

能,但慎用。CSS 多行省略(-webkit-line-clamp)在 <td><div> 中可行,但它要求容器是块级、有固定高度,且会破坏表格的自动高度适应逻辑——可能导致整行高度塌陷或与其他行错位。

如果真要多行省略,推荐只用于非关键列,且显式设置 heightline-height

.multi-line-ellipsis {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.4;
  height: 2.8em;
}
  • 该方案在 Firefox 中需额外加 overflow: hidden + text-overflow: ellipsis 才兼容
  • cellStyle 配合时,要把这个 class 写进 css 对象里,而不是靠外部 class 名注入
  • 一旦用了多行省略,title 悬停就变得更重要——因为用户无法滚动查看完整内容
表格列的省略号看着简单,实际卡点都在「谁在控制宽度」和「谁在承载文字」这两个地方。漏掉任意一层,样式就断链。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

761

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

221

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1570

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

651

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

1269

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

1206

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

194

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

131

2025.08.07

c++ 字符处理
c++ 字符处理

本专题整合了c++字符处理教程、字符串处理函数相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 12.7万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号