用CSS截断字符串的两种实用方法

使用CSS截断字符串是前端开发中常见的需求,下面详细讲解两种实用方法的攻略。

方法一:文本溢出省略号

步骤一:使用文本溢出属性

CSS中的文本溢出属性text-overflow可用于控制文本的省略形式。将此属性设置为ellipsis即可使文本以省略号结尾。

步骤二:设置强制换行

如果不将文本强制换行,则文本将会一直展示直到页面边缘,而不是截取多余的部分。因此,需要设置white-space属性为nowrap,并添加overflow:hidden以控制多出来的字符。

下面是一条示例:

p {
  width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

在上述示例中,将<p>元素的宽度设置为200像素,并且将white-space属性设置为nowrap,使得文本强制不进行换行;将overflow属性设置为hidden,以使得多出来的文本隐藏;将text-overflow属性设置为ellipsis,使得文本以省略号结尾。

方法二:使用伪元素结尾

步骤一:结尾通过伪元素添加

该方法通过给文本元素添加伪元素 :after ,并将内容设置为三个点,即实心圆,来表示文本截断。该伪元素可以通过使用positionright属性,使其与文本元素产生重叠,产生截断的效果。(如果要将省略号放在文本的左边,也可以使用:before伪元素)

步骤二:限制文本元素宽度

同样的,如果文本元素不设置宽度,那么省略号没有作用。限制宽度的方式有很多,可以设置一个容器元素为其设置宽度,也可以直接为文本元素设置。

下面是一条示例:

p {
  position: relative;
  width: 200px;
  padding-right: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

p::after {
  content: "...";
  position: absolute;
  top: 0;
  right: 0;
  width: 15px;
  height: 100%;
  background: white;
  text-align: center;
}

在上述示例中,将<p>元素的宽度设置为200像素,并为其添加padding-right,使得文本与省略号之间有一定的间隙。将overflow属性设置为hidden,以使得多出来的文本隐藏;将text-overflow属性设置为ellipsis,使得文本以省略号结尾;将white-space属性设置为nowrap,使得文本强制不进行换行,同时为<p>元素添加相对定位属性,让伪元素绝对定位,从而和文本产生重叠。最后,使用content属性为伪元素设置内容为三个点,使用position属性使得伪元素的位置与文本元素重叠,使用height属性和background属性使得伪元素的背景色与文本元素的背景色一致,使用text-align属性使得伪元素的文本垂直居中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用CSS截断字符串的两种实用方法 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 2019腾讯暑期实习面试(offer)前端经验

    2019腾讯暑期实习前端经验攻略 一、准备阶段 熟悉面试流程和常见问题:腾讯的前端面试一般包括以下环节:自我介绍、技术问题、项目经验、算法题目等。在准备阶段,需要认真思考自己的经历,总结符合岗位需求的项目经验,预习算法和数据结构的基本知识。同时,可以查询和分析往年的招聘信息和面试体验,了解面试官可能提出的问题。 提前评估自身水平:对于前端开发而言,需要重点掌…

    css 2023年6月9日
    00
  • vue navbar tabbar导航条根据位置移动实现定位、颜色过渡动画效果的代码

    下面我就来详细讲解“vue navbar tabbar导航条根据位置移动实现定位、颜色过渡动画效果的代码”的完整攻略: 1. 实现思路 首先,要实现定位、颜色等过渡动画效果的navbar或tabbar导航条,并根据当前页面位置进行联动,可以采用如下实现思路: 使用vue-router实现页面的跳转和位置信息的记录; 利用Vue.js提供的特性,根据当前页面路…

    css 2023年6月10日
    00
  • jQuery实现每隔一段时间自动更换样式的方法分析

    下面我就来详细讲解一下“jQuery实现每隔一段时间自动更换样式的方法分析”的完整攻略。 一、需求分析 我们需要在页面中,每隔一段时间自动更换样式,这个需求需要使用JavaScript来完成。 二、实现思路 定义一个数组,存储要更换的样式; 设置一个计数器,记录当前显示的样式,并设置一个定时器来定时更换样式; 定义一个全局变量timer,用于存储定时器的引用…

    css 2023年6月10日
    00
  • CSS实现垂直居中的七个方法实例代码详解

    下面我将详细讲解“CSS实现垂直居中的七个方法实例代码详解”的完整攻略。 1. 居中方法概述 在网页设计中,居中是一个常见的问题。在垂直方向上,居中就常常会让人烦恼。下面列举了七种CSS实现垂直居中的方法: line-height: 实现单行文本的垂直居中 table-cell: 利用表格元素实现块元素的垂直居中 transform:translate: 利…

    css 2023年6月10日
    00
  • vue.js引用背景图background无效的3种解决方案

    下面是关于“vue.js引用背景图background无效的3种解决方案”的完整攻略。 问题描述 在使用 Vue.js 进行开发时,我们通常会用到 CSS 中的背景图,但是有很多时候我们会发现,使用 background 属性来引入图片时,图片并没有被正确地引入,出现无法显示的情况。那么这个问题该怎么解决呢? 解决方案 方案一:使用 require 方法 在…

    css 2023年6月9日
    00
  • SPAN和DIV,Class与ID的区别汇总

    让我来给你详细讲解一下 “SPAN和DIV,Class与ID的区别汇总” 的内容。 一、SPAN和DIV的区别 1.1 SPAN标签 <span> 标签是用来对文档中的行内元素进行包装和设置样式的标签。它本身不具有任何意义,但它可以帮助在文档中标识出一些较小的文本片段,比如文本中的某些字符或单词。 下面是一个使用 <span> 标签设…

    css 2023年6月10日
    00
  • Vue+TailWindcss实现一个简单的闯关小游戏

    让我们来详细讲解“Vue+TailWindcss实现一个简单的闯关小游戏”的完整攻略。在实现这个小游戏的过程中,我们需要注意以下步骤: 1. 环境搭建和工具准备 要创建一个Vue项目,我们首先需要安装Vue-cli。我们可以使用以下命令来安装: npm install -g @vue/cli 安装完成后,我们可以通过以下命令来创建一个新的Vue项目: vue…

    css 2023年6月9日
    00
  • CSS中的inherit使用技巧小结

    现在就来为大家详细讲解一下“CSS中的inherit使用技巧小结”。 inherit的作用和含义 在CSS中,inherit是一个非常有用的属性值,它可以让某个属性的值继承父元素的相应属性值。具体来说,inherit的作用和含义如下: 让特定元素的某个 CSS 属性继承其父元素的相应属性值。 只要把属性值设置为 inherit,就可以继承父元素的属性值,而不…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部