如何在具有隐藏溢出的<span>元素中显示省略号?


<span> 元素是一个通用的容器,没有语义意义。它经常与 style 和 class 属性一起用于网页创作中的样式设置。它还可以用于向独立的文本段添加属性,例如 lang 或 title。

只有在没有其他语义元素可用时才应使用它。<span> 元素类似于 <div> 元素,但 <div> 元素是块级元素,而 <span> 元素是内联元素。以下是语法:

<span class="">Some Text</span>

CSS 简写属性

CSS 简写属性 overflow 指定元素溢出的所需行为——也就是说,当元素的内容太大而无法容纳在其块格式化上下文时——在两个方向上的行为。

语法

element {
  overflow:  visible | hidden | scroll | auto | inherit;
}

当元素的 overflow 设置为 hidden 时,内容将根据需要裁剪以适应填充框。没有滚动条,也不允许用户滚动(通过拖动或使用滚轮)。因为内容可以通过编程方式滚动(例如,通过设置 scrollLeft 等属性的值或调用 scrollTo() 方法),所以元素仍然是一个滚动容器。

省略号 是一种标点符号,表示停顿或故意省略某些内容。它由三个点或句点组成。它可以与具有隐藏溢出的元素一起使用,以实现清晰的布局和更好的截断。

在这篇文章中,我们将介绍一种在具有隐藏溢出的 span 元素中显示省略号的方法。

使用 text-overflow 属性

当文本字符串溢出容器边界时,它可能会弄乱整个布局。text-overflow 属性指定如何向用户显示未显示的溢出内容。可以剪裁它,使用省略号(...),或显示自定义字符串。

text-overflow 需要以下两个属性:overflow: hiddenwhite-space: nowrap

以下是语法

text-overflow: clip|ellipsis|string|initial|inherit;

text-overflow 值的 ellipsis 值表示使用省略号或三个点/句点来剪裁或截断文本。它显示在内容区域内,减少了显示的文本量。如果空间不足以显示省略号,则会将其剪裁。

示例

以下示例演示了通过将 text-overflow 的值设置为 ellipsis,在具有隐藏溢出的 span 元素中包含省略号。我们将 <span> 元素的 display 属性设置为“inline-block”。width 指定省略号的位置。我们还将 white-space 属性与“nowrap”值结合使用,以防止内容换行。

<!DOCTYPE html>
<html>
  <head>
    <title>
        How to Display Ellipsis in the span Element Having Hidden Overflow?
    </title>
    <style>
      span {
        background-color:peachpuff;
        color:darkslategrey;
        border:2px solid sienna;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        width:450px;
        height:20px;
        margin:10px;
        padding:2px 3px 4px 5px;
        display:inline-block;
      }
    </style>
  </head>
  <body>
    <h3>Something to think about</h3>
    <span>
        The minute you think you think you have the right to belittle others because you are better than them is the same minute you have proven that you are worse.
    </span>
  </body>
</html>

示例

在这个特定示例中,我们在 span 标签的第二行末尾显示省略号。它是前面示例的变体,增加了 -webkit-line-clamp 等属性,该属性允许将块容器的内容限制为指定行数,以及 -webkit-box-orient 属性,该属性决定元素是水平还是垂直排列其内容。

<!DOCTYPE html>
<html>
  <head>
    <title>
        How to Display Ellipsis in the span Element Having Hidden Overflow?
    </title>
    <style>
      span {
        display: inline-block;
        background-color:lavenderblush;
        color:purple;
        font-weight:550;
        border: 3px solid thistle;
        margin:10px;
        padding: 2px 3px 4px 5px;
        width: 250px;
        height: 50px;
        -webkit-line-clamp: 2;
        display: -webkit-box;
        line-height: 1.50;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
      }
    </style>
  </head>
  <body>
    <h3>Something to think about</h3>
    <span>
        The minute you think you think you have the right to belittle others because you are better than them is the same minute you have proven that you are worse.
    </span>
  </body>
</html>

通过修改 -webkit-line-clamp 属性,我们可以在 span 标签中的任何后续行显示省略号。

更新于:2023年9月11日

888 次查看

启动你的职业生涯

完成课程获得认证

开始学习
广告