CSS 如何将省略号应用到多行文本

CSS 如何将省略号应用到多行文本

CSS没有适用于多行文本的省略号属性,但我们仍然可以实现所需的效果。首先,让我们看看如何将省略号应用到单行文本。

将省略号应用到单行文本

要创建省略号,我们需要使用text-overflow属性,其值为ellipsis,例如:

text-overflow: ellipsis;

示例

现在让我们来看完整的示例 –

<!DOCTYPE html>
<html>
<head>
   <style> 
      div.b {
         white-space: nowrap; 
         width: 80px; 
         overflow: hidden;
         text-overflow: ellipsis; 
         border: 2px solid blue;
      }
   </style>
</head>
<body>
   <h1>Demo Heading</h1>
   <div class="b">This is a demo text</div>
</body>
</html>

输出

CSS 如何将省略号应用到多行文本

将省略号应用于多行文本

要允许多行文本出现省略号,首先使用以下CSS属性设置div。这里设置的高度适用于整个段落。overflow被隐藏以避免超出段落指定的高度后产生的任何溢出。

.mydiv {
   position: relative;
   display: block;
   width: 28em;
   height: calc(2em + 5px);
   overflow: hidden;
   white-space: normal;
}

然后,span元素的mytext属性会被设置成word-break属性。word-break属性决定了单词在到达行尾时如何断行。同时还设置了max-height属性 –

.mytext {
   word-break: break-all;
   position: relative;
   display: block;
   max-height: 3em;
}

最后,通过使用 right 和 top CSS 属性来设置省略号属性 –

.myelli {
   position: absolute;
   right: 0;
   top: calc(4em + 2px - 100%);
   text-align: left;
   background: white;
}

示例

现在让我们来看一个完整的示例 –

<!DOCTYPE html>
<html>
<head>
   <style> 
      .mydiv {
         position: relative;
         display: block;
         width: 28em;
         height: calc(2em + 5px);
         overflow: hidden;
         white-space: normal;
      }
      .mytext {
         word-break: break-all;
         position: relative;
         display: block;
         max-height: 3em;
      }
      .myelli {
         position: absolute;
         right: 0;
         top: calc(4em + 2px - 100%);
         text-align: left;
         background: white;
      }
   </style>
</head>
<body>
   <h1>Implementing Multiline Ellipsis</h1>
   <div class="mydiv">
      <span class="mytext">
         Aliquam erat volutpat. Vestibulum at nulla mollis, tristique odio in, 
         lobortis libero. Nulla in viverra sem. Sed sed cursus justo, ac sodales nisl. 
         Pellentesque posuere metus egestas arcu accumsan aliquet. Donec ac dui eu nibh 
         euismod sodales sit amet sed libero. Ut id vehicula eros. Nam fringilla lectus 
         tincidunt, efficitur metus a, vestibulum tortor. Proin tincidunt dui vel dui maximus 
         tincidunt. Quisque quis tortor tellus. Sed molestie, quam convallis sodales maximus, 
         nunc justo volutpat quam, consequat fermentum dolor ipsum non massa.
         <div class="myelli">...</div>
      </span>
   </div>
</body>
</html>

输出

CSS 如何将省略号应用到多行文本

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

CSS 精选笔记