首页 前端知识 CSS 实现文本省略显示【单行,2行,多行】

CSS 实现文本省略显示【单行,2行,多行】

2024-08-10 00:08:31 前端知识 前端哥 157 963 我要收藏

在Web开发中,长文本内容可能会超出其容器的范围。为了保持良好的用户体验,我们通常会将超出的文本部分以省略号显示。本文将详细介绍如何在CSS中限制文本显示一行、两行或多行,超过部分显示省略号。

目录

  1. 前言
  2. 单行文本省略
  3. 多行文本省略
    • 两行文本省略
    • 多行文本省略
  4. 总结
  5. 相关阅读

1. 前言

限制文本显示长度并以省略号表示超出部分是常见的需求。通过CSS,可以简单地实现这一效果。我们将分别介绍单行文本、省略两行文本和多行文本的实现方法。

2. 单行文本省略

要实现单行文本省略,主要使用以下CSS属性:

  • white-space: nowrap: 禁止文本换行。
  • overflow: hidden: 隐藏超出容器范围的内容。
  • text-overflow: ellipsis: 使用省略号表示被隐藏的文本。

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>单行文本省略示例</title>
  <style>
    .single-line-ellipsis {
      width: 200px; /* 限制容器宽度 */
      white-space: nowrap; /* 禁止文本换行 */
      overflow: hidden; /* 隐藏超出范围的内容 */
      text-overflow: ellipsis; /* 使用省略号 */
      border: 1px solid #ccc;
    }
  </style>
</head>
<body>
  <div class="single-line-ellipsis">
    这是一个很长的文本,超过了容器的宽度,将会显示省略号。
  </div>
</body>
</html>

3. 多行文本省略

3.1 两行文本省略

要实现两行文本省略,主要使用以下CSS属性:

  • display: -webkit-box: 将元素设置为WebKit内核的弹性盒子模型。
  • -webkit-box-orient: vertical: 设置弹性盒子的排列方向为垂直。
  • -webkit-line-clamp: 2: 限制显示的文本行数。
  • overflow: hidden: 隐藏超出容器范围的内容。

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>两行文本省略示例</title>
  <style>
    .two-line-ellipsis {
      width: 200px; /* 限制容器宽度 */
      display: -webkit-box; /* 设置为WebKit内核的弹性盒子模型 */
      -webkit-box-orient: vertical; /* 垂直排列 */
      -webkit-line-clamp: 2; /* 限制显示两行 */
      overflow: hidden; /* 隐藏超出范围的内容 */
      text-overflow: ellipsis; /* 使用省略号 */
      border: 1px solid #ccc;
    }
  </style>
</head>
<body>
  <div class="two-line-ellipsis">
    这是一个很长的文本,超过了容器的高度,将会显示省略号。这是一个很长的文本,超过了容器的高度,将会显示省略号。
  </div>
</body>
</html>

3.2 多行文本省略

要实现多行文本省略,只需修改 -webkit-line-clamp 的值为需要显示的行数即可。

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>多行文本省略示例</title>
  <style>
    .multi-line-ellipsis {
      width: 200px; /* 限制容器宽度 */
      display: -webkit-box; /* 设置为WebKit内核的弹性盒子模型 */
      -webkit-box-orient: vertical; /* 垂直排列 */
      -webkit-line-clamp: 3; /* 限制显示三行 */
      overflow: hidden; /* 隐藏超出范围的内容 */
      text-overflow: ellipsis; /* 使用省略号 */
      border: 1px solid #ccc;
    }
  </style>
</head>
<body>
  <div class="multi-line-ellipsis">
    这是一个很长的文本,超过了容器的高度,将会显示省略号。这是一个很长的文本,超过了容器的高度,将会显示省略号。这是一个很长的文本,超过了容器的高度,将会显示省略号。这是一个很长的文本,超过了容器的高度,将会显示省略号。
  </div>
</body>
</html>

4. 总结

通过使用CSS中的 text-overflow-webkit-line-clamp 属性,可以轻松实现单行、多行文本的省略显示。无论是简单的单行文本省略还是复杂的多行文本省略,这些方法都能满足各种需求。

5. 相关阅读

  • MDN 文档 - text-overflow
  • MDN 文档 - white-space
  • CSS Tricks - Line Clamping
转载请注明出处或者链接地址:https://www.qianduange.cn//article/15118.html
标签
评论
发布的文章

Jquery (第三章笔记)

2024-08-18 00:08:37

jquery实现tab切换简单好用

2024-08-18 00:08:35

jQuery Cookie 插件使用教程

2024-08-14 22:08:01

jQuery的DOM操作

2024-08-18 00:08:21

echarts显示中国地图

2024-08-18 00:08:11

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!