蓝戒博客

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

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

2015年8月26日 10404点热度 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 中对话未来。

最新 热点 随机
最新 热点 随机
《生化危机》女主手搓AI记忆系统,48小时狂揽7千星!AI的长期记忆终于有解了? 用一条自然语言指令,让AI自动完成了调研、写稿、配音、剪辑全流程 你以为 AI 配音还在拼“像不像”,结果有人已经把“整个语音工作室”开源了 Claude Opus 4.7 上线:编程能力炸裂式跃升,Anthropic 手握更强模型却故意不发布 Gemma 4发布4天即遭"完全越狱",开源AI的安全与自由之争 一个文件让AI写代码不再"翻车":45K星的Karpathy指南火了
Dan Koe:不想打工?用这套方法把兴趣变成收入GitHub 爆火 4 万星项目:MiroFish,到底是 AI 新神话,还是下一代预测引擎DeerFlow 2.0:字节跳动开源的超级智能体框架,让AI研究、编码、创作一气呵成!Claude Code 生态大爆发:这周 GitHub 热点,已经不是工具升级,而是工作方式重写我把 Codex CLI 装上了“外挂大脑”:oh-my-codex 到底有多猛?别再盲下大模型了:用 llmfit 一秒看懂你的电脑到底能跑谁
css清除浮动方法及优缺点解析 css选择器的分类及优先级计算方法总结 高效构建响应式Web:Tailwind CSS原子化实战 纯css背景颜色渐变,完美兼容各主流浏览器 markdown-exit:现代化的 Markdown 解析工具 键盘键码值一览表
最近评论
渔夫 发布于 6 个月前(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