当前位置: 首页 > news >正文

css内容省略——text-overflow: ellipsis


title: css内容省略
date: 2025-05-07 19:41:17
tags: css

text-overflow: ellipsis

text-overflow: ellipsis用于在文本溢出容器时显示省略号(…)

1.单行省略

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>单行文本省略示例</title><style>.ellipsis {width: 200px;white-space: nowrap;      /* 禁止换行 */overflow: hidden;         /* 隐藏溢出内容 */text-overflow: ellipsis;  /* 显示省略号 */border: 1px solid #ccc;padding: 8px;margin: 20px 0;}</style>
</head>
<body><div class="ellipsis">这是一段很长的文本内容,当超出容器宽度时会显示省略号...</div><div class="ellipsis">短文本</div>
</body>
</html>

2.多行文本省略(CSS3方法)

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>多行文本省略示例</title><style>.multiline-ellipsis {width: 300px;display: -webkit-box;          /* 老版本语法 */-webkit-line-clamp: 3;         /* 显示行数,超过就在第三行末尾显示省略号 */-webkit-box-orient: vertical;  /* 垂直排列 */overflow: hidden;              /* 隐藏溢出 */text-overflow: ellipsis;       /* 显示省略号 */border: 1px solid #ccc;padding: 8px;margin: 20px 0;line-height: 1.5;}</style>
</head>
<body><div class="multiline-ellipsis">这是一段很长的多行文本内容。当文本超过指定的行数时,会在最后一行显示省略号。这个方法使用了CSS3的-webkit-line-clamp属性,目前在现代浏览器中支持良好。需要注意这是非标准属性,但在实际项目中广泛使用。</div>
</body>
</html>

3.表格单元格中的文本省略

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>表格文本省略示例</title><style>table {width: 400px;border-collapse: collapse;margin: 20px 0;}th, td {border: 1px solid #ddd;padding: 8px;}.ellipsis-cell {max-width: 150px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}</style>
</head>
<body><table><tr><th>ID</th><th>产品名称</th><th>描述</th></tr><tr><td>1</td><td>笔记本电脑</td><td class="ellipsis-cell">这是一款高性能笔记本电脑,配备最新处理器和大容量内</td></tr><tr><td>2</td><td>智能手机</td><td class="ellipsis-cell">最新款智能手机,具有超高像素摄像头和长续航电池</td></tr></table>
</body>
</html>

4. 响应式设计中的文本省略

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>响应式文本省略示例</title><style>.responsive-ellipsis {width: 100%;max-width: 400px;margin: 20px auto;padding: 15px;background: #f5f5f5;border-radius: 4px;}.responsive-ellipsis h3 {white-space: nowrap;overflow: hidden;text-overflow: ellipsis;margin-bottom: 10px;}.responsive-ellipsis p {display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;line-height: 1.5;}@media (max-width: 480px) {.responsive-ellipsis p {-webkit-line-clamp: 2;}}</style>
</head>
<body><div class="responsive-ellipsis"><h3>这是一个非常非常长的标题,在小屏幕上会被截断并显示省略号</h3><p>这里是详细内容描述。在较大的屏幕上,我们会显示最多3行文本,超过部分显示省略号。而在移动设备上(宽度小于480px),我们只显示2行文本。这样可以确保在不同设备上都有良好的阅读体验,同时保持布局整洁。</p></div>
</body>
</html>

关键点总结

  1. 必须配合的属性
    • white-space: nowrap(单行)
    • overflow: hidden
    • 固定宽度或最大宽度
  2. 多行省略的限制
    • 使用 -webkit-line-clamp(非标准属性但广泛支持)
    • 需要 display: -webkit-boxdisplay: -webkit-inline-box
  3. 浏览器兼容性
    • 单行省略:所有主流浏览器支持
    • 多行省略:现代浏览器支持(Chrome, Safari, Edge, Firefox 68+)

相关文章:

  • 【C/C++】虚函数
  • 【软件设计师:程序语言】4.程序语言基础知识
  • 【Linux】Linux环境基础开发工具
  • 深入解析进程间通信与Socket原理:从理论到TypeScript实战
  • 新疆地区主要灾害链总结
  • 软件工程(三):模块的内聚模型
  • 苍穹外卖(用户下单、订单支付)
  • 【useOperatorData Hook 改造实践】
  • [数据库之九] 数据库索引之顺序索引
  • ​IP 风险画像如何实现对恶意 IP 的有效拦截?
  • NetBox:运维利器,网络与数据中心管理平台
  • 使用 Vue CLI 和 vuedraggable 实现拖拽排序功能
  • 优艾智合CEO张朝辉荣膺U45杰出青年企业家
  • OG-HFYOLO:当梯度方向引导遇见异构特征融合,变形表格分割难题迎刃而解
  • 【Python】os模块
  • Soft Mask(软遮罩)技术
  • MySQL的information_schema在SQL注入中的关键作用与防御策略
  • 后端返回文件流,前端展示图片
  • AI视觉质检的落地困境与突破路径
  • 架构进阶:精读麦肯锡-_电力公司业务能力架构设计规划咨询项目【附全文阅读】
  • 总粉丝破亿!当网络大V遇见硬核科技,互联网时代如何书写上海故事?
  • 构建菌株有效降解有机污染物,上海交大科研成果登上《自然》
  • 讲座预告|全球贸易不确定情况下企业创新生态构建
  • 壹基金发布2024年度报告,公益项目惠及937万人次
  • 迪拜金融市场CEO:2024年市场表现出色,超八成新投资者来自海外
  • 秦洪看盘|重估叙事主题卷土重来,给A股注入新活力