在 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 来实现类似的效果。



