CSS截断自定义最大宽度

CSS截断自定义最大宽度

在网页开发项目中,开发人员面临着需要在指定的空间内显示文本的情况,原因有很多,比如客户需求、整体外观、有限的资源等。截断(truncate)属性是CSS中一个有效的功能,可以解决这个问题。

它使开发人员能够显示单行文本,并截断溢出的文本为省略号。然而,根据情况的不同,可能需要自定义截断文本的最大宽度。在本文中,我们将讨论如何使用Primer CSS来自定义最大宽度,Primer CSS是GitHub设计系统设计的一款流行的开源CSS框架。

截断是什么意思

在网页设计中,截断是CSS的text-overflow属性的一个值之一。在处理文本时,经常会遇到容器不足以容纳文本的情况。这个溢出的文本被称为溢出文本。它可以让我们显示一行文本,然后用省略号截断剩余部分。

在CSS中,要使用“截断”,您需要执行以下步骤:

  • 将white-space属性设置为nowrap

  • 将overflow属性设置为hidden

  • 将text-overflow属性设置为ellipsis

示例

<html>
<head>
   <style>
      div {
         width: 77%;
         height: 30px;
         border: 1px solid black;
         overflow: hidden;
         white-space: nowrap;
         text-overflow: ellipsis;
      }      
   </style>
</head>  
<body> 
   <div> This is the text. Apple mango banana watermelon orange kiwi pomegranate muskmelon pineapple grapes papaya guava strawberries raspberry avocado pear. </div>
</body> 
</html>

为了避免那么多行的代码,你可以使用Primer CSS。Primer CSS内置了截断组件,并为其提供了预定义的类。

在使用Primer CSS中的任何类之前,我们必须从npm上安装它。

npm install --save @primer/css

或者在HTML代码中使用CDN链接−

<link href= "https://unpkg.com/@primer/css@^20.2.4/dist/primer.css" rel= "stylesheet" />

自定义截断文本的最大宽度

为了自定义截断文本的最大宽度,Primer CSS提供了预定义的类,用于在网站中截断溢出的文本。

示例

在本示例中,我们使用预定义的box类将一个div元素转换为可调整大小的框。这里, p-1 是一个类的简写,用于在框的所有四个边添加4px(0.25rem)的填充。

接下来,我们使用style属性为框添加所需的样式。我们将 resize 属性的值设置为 horizontal ,这样用户可以通过从右下角拖动来水平调整框的大小。为了给元素添加水平滚动条,我们使用了 “overflow: scroll” 属性。使用水平滚动条将使用户在水平滚动文本时能够看到隐藏的内容。

然后,我们使用Primer CSS中的预定义类显示了具有不同最大宽度的不同截断文本。

<html>
<head>
   <link rel="stylesheet" href="https://unpkg.com/@primer/css@^20.2.4/dist/primer.css" />
</head>
<body>
   <h1 style="margin: 10px"> Primer CSS Truncate Custom Max Width </h1>
   <p style="margin: 10px"> Following we have different truncated text with customized maximum widths. </p>
   <br>
   <div class="Box p-1" style="resize: horizontal; overflow: scroll; margin: 10px">
      <div class="Truncate">
         <span class="Truncate-text Truncate-text--expandable" style="max-width: 460px;"> This is the text. Apple mango banana watermelon orange kiwi pomegranate muskmelon pineapple grapes papaya guava strawberries raspberry avocado pear. </span>
      </div>
      <br>
      <div class="Truncate">
         <span class="Truncate-text Truncate-text--expandable" style="max-width: 340px;"> This is the text. Apple mango banana watermelon orange kiwi pomegranate muskmelon pineapple grapes papaya guava strawberries raspberry avocado pear. </span>
      </div>
      <br>
      <div class="Truncate">
         <span class="Truncate-text Truncate-text--expandable" style="max-width: 280px;"> This is the text. Apple mango banana watermelon orange kiwi pomegranate muskmelon pineapple grapes papaya guava strawberries raspberry avocado pear. </span>
      </div>
      <br>
      <div class="Truncate">
         <span class="Truncate-text Truncate-text--expandable" style="max-width: 180px;"> This is the text. Apple mango banana watermelon orange kiwi pomegranate muskmelon pineapple grapes papaya guava strawberries raspberry avocado pear. </span>
      </div>
      <br>
      <div class="Truncate">
         <span class="Truncate-text Truncate-text--expandable" style="max-width: 80px;"> This is the text. Apple mango banana watermelon orange kiwi pomegranate muskmelon pineapple grapes papaya guava strawberries raspberry avocado pear. </span>
      </div>
   </div>
</body>
</html>

结论

在内容溢出时自定义显示文本的最大宽度是一种良好的做法,它可以帮助开发人员在网站的有限空间内控制文本的显示。通过本文讨论的方法,您将能够创建视觉上吸引人的网站。在卡片设计中,我们还可以使用截断方法。这样可以使您的内容更易读和用户友好,同时必须显示较长的标题,新闻标题,卡片描述等。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

CSS 精选笔记