在 CSS 中,要实现文本显示多行,超出部分用省略号代替,可以通过结合 display、overflow、text-overflow 等属性来实现。不过,不同的浏览器对这些属性的支持略有差异,下面为你提供详细的实现方法。
1、实现思路
使用 display: -webkit-box 将元素设置为弹性伸缩盒子模型,这是实现多行省略号的关键属性之一
使用 -webkit-line-clamp 限制元素内文本显示的行数为 2。
使用 -webkit-box-orient 属性设置子元素的排列方向为垂直方向。
使用 overflow: hidden 隐藏溢出的内容。
使用 text-overflow: ellipsis 将溢出的文本用省略号表示。
2、代码演示
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Two-line Ellipsis</title> <style> .two-line-ellipsis { /* 设置为弹性伸缩盒子模型 */ display: -webkit-box; /* 限制显示的行数为 2 */ -webkit-line-clamp: 2; /* 设置子元素的排列方向为垂直方向 */ -webkit-box-orient: vertical; /* 隐藏溢出的内容 */ overflow: hidden; /* 将溢出的文本用省略号表示 */ text-overflow: ellipsis; /* 为了更好的展示效果,设置宽度和高度 */ width: 200px; height: auto; /* 字体样式 */ font-size: 16px; line-height: 1.5; } </style> </head> <body> <div> 这是一段很长的文本内容,用于测试 CSS 实现两行显示并在超出部分使用省略号代替的效果。希望这个示例能帮助你理解如何实现这个功能。 </div> </body> </html>
3、兼容性说明
需要注意的是,-webkit-line-clamp 和 -webkit-box-orient 是 WebKit 内核浏览器(如 Chrome、Safari)的私有属性,在其他浏览器中可能不支持。如果你需要兼容更多浏览器,可以考虑使用 JavaScript 来实现类似的效果。

