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;

会强制单行显示。

相关推荐
天天进步20152 小时前
CSS Grid与Flexbox:2025年响应式布局终极指南
前端·css
苏打水com3 小时前
Tailwind CSS的grid布局
css
用户47949283569154 小时前
告别span嵌套地狱:CSS Highlights API重新定义语法高亮
前端·javascript·css
inx17710 小时前
CSS 定位详解:relative、absolute、fixed、sticky 与 static
css
www_stdio11 小时前
CSS 自定义属性(CSS 变量):现代网页开发的利器
css
前端世界11 小时前
ASP.NET 实战:用 CSS 选择器打造一个可搜索、响应式的书籍管理系统
css·后端·asp.net
程序猿_极客11 小时前
【期末网页设计作业】HTML+CSS+JS 香港旅游网站设计与实现 (附源码)
javascript·css·html
进击的野人11 小时前
深入理解 CSS4 新特性:CSS 变量
前端·css
冰暮流星14 小时前
css之flex属性
前端·css