css 文本显示两行超过显示省略号

背景:

在css中实现文本显示两行,超出部分显示省略号(...),可以通过组合display:-webkit-box、-webkit-line-clamp和text-overflow:ellipsis等属性来实现。

单行省略: white-space:nowrap

多行省略: -webkit-line-clamp:2

注意:如果混合了单行省略和多行省略,会导致冲突,无法正确显示两行文本省略效果。

问题分析:

  • white-space:nowrap 会限制单行显示

nowrap会阻止文本换行,导致 -webkit-line-clamp失效。

解决办法:移除-webkit-line-clamp,让文本可以自动换行。

示例代码:

.two-lines{

display:-webkit-box;

-webkit-box-orient:vertical;

-webkit-line-clamp:2;

overflow:hidden;

text-overflow:ellipsis;

line-height:1.5;

}

  • 父容器没有固定宽度,文本可能不换行

解决办法:确保父元素有宽度限制(如 max-width)

  • IE/旧版浏览器不支持,需要使用max-height 和 ::after方案

或使用JavwScript库(如 clamp.js)

如果-webkit-line-clamp不兼容某些浏览器(如旧版firefox),可以使用max-height结合::after伪元素模拟省略号。

示例代码:

.falkback-ellipsis{

position:relative;

max-height:4.5rem;//3行1.5行高

line-height:1.5;

overflow:hidden;

}

.falkback-ellipsis::after{

content:"...";

position:absolute;

bottom:0;

right:0;

background:white;//防止文字穿透

padding-left:5px;

}

一、关键点总结

-webkit-line-clamp

适用于现代浏览器

兼容性:Chrome、Safari、Edge、Firefox

备注:最简单最推荐

max-height + ::after伪元素

兼容旧版浏览器,如IE、旧版Firefox

兼容性:所有浏览器

备注:需要手动调整max-height

二、属性详细,知识点

属性及其作用,罗列如下:

display:-webkit-box;

启用多行省略。

-webkit-box-orient:vertical;

垂直排列文本。

-webkit-line-clamp:2;

限制2行。

overflow:hidden;

隐藏溢出内容。

text-overflow:ellipsis;

显示省略号。

line-height:1.5;

控制行高,使得省略号对齐。

其它属性:

white-space:nowrap;

会强制单行显示。

相关推荐
zhanghaofaowhrql2 天前
为CSDN博客编辑器安装自定义CSS主题,打造个性化写作界面
前端·css·编辑器
aichitang20242 天前
Claude fable 5与GPT5.5模型能力实测
javascript·css·人工智能·ai·html·html5
就叫飞六吧2 天前
F12 控制台日志移植到页面案例
javascript·css·html
Bigger3 天前
对不起!我错怪你了,UnoCSS:一次和 AI 一起排查 DevTools 卡顿的经历
前端·css·人工智能
触底反弹4 天前
🎲 纯 CSS 搞定 3D 旋转立方体?还附赠一个「天坑」解决方案!
前端·css·html
finyouIT4 天前
锚点实现了点击导航平滑滚动到页面指定位置的三种方法
javascript·css
用户059540174464 天前
用了半年 LangChain Memory,才发现记忆总“串台”——3 个自动化测试避坑指南
前端·css
More more4 天前
纯手搓css样式:科技感弹窗边框
css·科技·css3
kidding7234 天前
旋转大转盘小程序
前端·css·微信小程序·小程序·前端框架
用户059540174465 天前
AI 客服突然“失忆”,排查 6 小时发现 LangChain 记忆存储的 3 个致命坑
前端·css