在Web开发中,长文本内容可能会超出其容器的范围。为了保持良好的用户体验,我们通常会将超出的文本部分以省略号显示。本文将详细介绍如何在CSS中限制文本显示一行、两行或多行,超过部分显示省略号。
1. 前言
限制文本显示长度并以省略号表示超出部分是常见的需求。通过CSS,可以简单地实现这一效果。我们将分别介绍单行文本、省略两行文本和多行文本的实现方法。
2. 单行文本省略
要实现单行文本省略,主要使用以下CSS属性:
white-space: nowrap
: 禁止文本换行。overflow: hidden
: 隐藏超出容器范围的内容。text-overflow: ellipsis
: 使用省略号表示被隐藏的文本。
示例代码:
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>单行文本省略示例</title>
7 <style> .single-line-ellipsis {
8 width: 200px;
9 white-space: nowrap;
10 overflow: hidden;
11 text-overflow: ellipsis;
12 border: 1px solid #ccc;
13 } </style>
14</head>
15<body>
16 <div class="single-line-ellipsis">
17 这是一个很长的文本,超过了容器的宽度,将会显示省略号。
18 </div>
19</body>
20</html>
3. 多行文本省略
3.1 两行文本省略
要实现两行文本省略,主要使用以下CSS属性:
display: -webkit-box
: 将元素设置为WebKit内核的弹性盒子模型。-webkit-box-orient: vertical
: 设置弹性盒子的排列方向为垂直。-webkit-line-clamp: 2
: 限制显示的文本行数。overflow: hidden
: 隐藏超出容器范围的内容。
示例代码:
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>两行文本省略示例</title>
7 <style> .two-line-ellipsis {
8 width: 200px;
9 display: -webkit-box;
10 -webkit-box-orient: vertical;
11 -webkit-line-clamp: 2;
12 overflow: hidden;
13 text-overflow: ellipsis;
14 border: 1px solid #ccc;
15 } </style>
16</head>
17<body>
18 <div class="two-line-ellipsis">
19 这是一个很长的文本,超过了容器的高度,将会显示省略号。这是一个很长的文本,超过了容器的高度,将会显示省略号。
20 </div>
21</body>
22</html>
3.2 多行文本省略
要实现多行文本省略,只需修改 -webkit-line-clamp
的值为需要显示的行数即可。
示例代码:
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>多行文本省略示例</title>
7 <style> .multi-line-ellipsis {
8 width: 200px;
9 display: -webkit-box;
10 -webkit-box-orient: vertical;
11 -webkit-line-clamp: 3;
12 overflow: hidden;
13 text-overflow: ellipsis;
14 border: 1px solid #ccc;
15 } </style>
16</head>
17<body>
18 <div class="multi-line-ellipsis">
19 这是一个很长的文本,超过了容器的高度,将会显示省略号。这是一个很长的文本,超过了容器的高度,将会显示省略号。这是一个很长的文本,超过了容器的高度,将会显示省略号。这是一个很长的文本,超过了容器的高度,将会显示省略号。
20 </div>
21</body>
22</html>
4. 总结
通过使用CSS中的 text-overflow
和 -webkit-line-clamp
属性,可以轻松实现单行、多行文本的省略显示。无论是简单的单行文本省略还是复杂的多行文本省略,这些方法都能满足各种需求。
5. 相关阅读
个人笔记记录 2021 ~ 2025