蓝戒博客

  • 首页
  • 研发说
  • 架构论
  • 效能录
  • AI谈
  • 随笔集
智构苍穹
融合 AI、架构与工程实践,沉淀方法论,构建可持续的技术价值。
  1. 首页
  2. 研发说
  3. 正文

css多行文本溢出显示省略号(…)解决方案

2015年8月26日 10481点热度 0人点赞 0条评论

单行文本溢出的解决方法我们知道通常是使用text-overflow:ellipsis属性来实现单行文本的溢出显示省略号(…)。当然部分浏览器还需要加宽度width属性,保险起见凡是要溢出的显示省略号的我们都要设置好宽,高。
单行文本溢出省略号css代码方案如下:

width:500px;
height:40px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;

由于是做移动端页面遇到的多行文本溢出显示省略号(…)的问题,所以先介绍一下适用于移动端的我大css3的高级属性的实现方法:
在WebKit浏览器或移动端(绝大部分是WebKit内核的浏览器)的页面实现比较简单,可以直接使用WebKit的CSS扩展属性(WebKit是私有属性)-webkit-line-clamp ;
注意:这是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。
-webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。
组合属性解决css3方案:

display: -webkit-box; /*必须结合的属性 ,将对象作为弹性伸缩盒子模型显示*/
-webkit-box-orient /*必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式*/

text-overflow: ellipsis; /*可以用来多行文本的情况下,用省略号“…”隐藏超出范围的文本*/

overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;

这个属性比较合适WebKit浏览器或移动端(绝大部分是WebKit内核的)浏览器。 比较靠谱简单的做法就是设置相对定位的容器高度,用包含省略号(…)的元素模拟实现;

下面整理一个跨浏览器兼容的解决方案:

p { position:relative; line-height:1.4em; /* 3 times the line-height to show 3 lines*/height:4.2em; overflow:hidden; }

p::after { content:"..."; font-weight:bold; position:absolute; bottom:0; right:0; padding:0 20px 1px 45px; background:url(http://css88.b0.upaiyun.com/css88/2014/09/ellipsis_bg.png) repeat-y; }

话说这样就可以了吗,no,还有可恶的ie,注意:IE6-7不显示content内容,所以要兼容IE6-7可以是在内容中加入一个标签,比如用...去模拟;
要支持IE8,需要将::after替换成:after;

另外整理js解决方案,用js也可以根据上面的思路去模拟,推荐几个做类似工作的小插件:
1.Clamp.js
下载及文档地址:https://github.com/josephschmitt/Clamp.js
使用也非常简单:

var module = document.getElementById("clamp-this-module");
$clamp(module, {clamp: 3});

2.jQuery插件-jQuery.dotdotdot

$(document).ready(function() {
$("#wrapper").dotdotdot({
// configuration goes here
});
});

jQuery限制字符字数的方法:

<script>
$(function() {
$(".task_con_l p").each(function() {
var maxwidth = 150;
if ($(this).text().length > maxwidth) {
$(this).text($(this).text().substring(0, maxwidth));
$(this).html($(this).html() + '......');
}
});
});
</script>

标签: css css3 文本溢出
最后更新:2025年9月12日

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

cywcd

我始终相信,技术不仅是解决问题的工具,更是推动思维进化和创造价值的方式。从研发到架构,追求极致效能;在随笔中沉淀思考,于 AI 中对话未来。

最新 热点 随机
最新 热点 随机
连加13小时班不喊累、自带300个分身?Kimi Work 开启“氛围办公”,到底谁在破防? Hermes 客户端来了:这不是聊天框,这是一个会长记性的 AI 打工人 薅秃Anthropic羊毛?Claude Code企业级免费平替来了,生产线直接省下百万Token费! 别再用VS Code插件了!GitHub狂割36K星的CodeWhale,才是终端党和DeepSeek的终极狂欢! 本地电脑能跑多大AI模型?2026本地大模型配置选型实践参考 Claude Opus 4.8 来了:这次 Anthropic 不卷嘴炮,开始卷“靠谱”了
字节把大模型装上了“手”!纯视觉接管键盘鼠标的 AI 终于来了别再为大模型 API 抓狂了!这款开源“全能型”代理神器 CCX,一站式搞定接口调度与可视化管理!程序员省钱神技:用 9Router 薅尽全网 AI 羊毛,Token 暴省 40%你的AI还在陪聊?2026超硬核多智能体(Agent)防坑与提效指南!18万星标霸榜!Anthropic黑客松冠军神作,彻底榨干Claude Code潜力的最强外脑ECC开源了!别再当Token冤大头了!3K行代码打造自我进化的极简Agent,真香!
VibeVoice 火了:这个开源语音 AI,正在重塑播客和语音 Agent 从“黑盒炼丹”到“全家桶”手搓:MiniMind如何用3块钱带你体验造大模型的极致快乐 开源AI 搜索代理 MiroThinker 1.7:当大家还在卷参数,它已经开始卷“查证能力”了 AngularJs指令全解析 语音 AI 进入“有灵魂时代”:从机器朗读到情绪表达,Noiz 为什么突然爆火? jquery.chosen下拉框多选插件使用详解
最近评论
渔夫 发布于 7 个月前(11月05日) 学到了,感谢博主分享
沙拉小王子 发布于 9 年前(11月30日) 适合vue入门者学习,赞一个
沙拉小王子 发布于 9 年前(11月30日) 适合vue入门者学习,赞一个
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8
cywcd 发布于 9 年前(04月27日) 请参考一下这篇文章http://www.jianshu.com/p/fa4460e75cd8

COPYRIGHT © 2025 蓝戒博客_智构苍穹-专注于大前端领域技术生态. ALL RIGHTS RESERVED.

京ICP备12026697号-2