css文本溢出处理——单行、多行

news2024/11/24 11:33:17

日常开发中,经常会遇到需要展示的文本过长,这种情况下,为了提高用户的使用体验,最常见的处理方式就是把溢出的文本显示成省略号。

处理文本的溢出的方式:1)单行文本溢出; 2)多行文本溢出; 3)超出容器高度缩略展示;4)缩略后加展开收起按钮可点击操作。

一、单行文本溢出省略

1、主要的css属性:

overflow:文字长度超出限定宽度,则隐藏超出的内容

  • visible: 默认值。内容不会回修剪,可以呈现在元素框之外。
  • scroll: 无论是否超出容器,都会出现一个滚动条。
  • auto: 如果没有超出容器的显示,将会正常显示,如果超出,将会出现一个滚动条。
  • hidden: 如果内容超出父级容器,超出部分将会被隐藏

text-overflow:规定当文本溢出时,显示省略符号来代表被修剪的文本

  • clip:当对象内文本溢出部分裁切掉
  • ellipsis:当对象内文本溢出时显示省略标记(…)
    注意:只有在设置了overflow:hiddenwhite-space:nowrap后text-overflow才能够生效的

white-space:控制空白字符的显示,同时还能控制是否自动换行。

  • normal: 连续的空白符会被合并,换行符会被当作空白符来处理。
  • nowrap:和 normal 一样,连续的空白符会被合并,但文本内的换行无效。
    在实现单行文本缩略展示时作用是设置文本不换行,是overflow:hidden和text-overflow:ellipsis生效的基础。
  • pre: 连续的空白符会被保留,仅在遇到换行符或 br标签时才会换行。
  • pre-wrap: 连续的空白符会被保留。
  • pre-line: 连续的空白符会被合并。

word-break: break-all 使一个单词能够在换行时进行拆分。

2、具体实现

在这里插入图片描述

<div class="wrap">
    <p>单行文本溢出缩略显示</p>
    <div class="one-line">
      人们总是把幸福解读为“有”,有房,有车,有钱,有权,但幸福其实是“无”,无忧,无虑,无病,无灾,“有”多半是给别人看的,“无”才是你自的。
	</div>
</div>

<style>
.wrap {
  width: 350px;
  margin: 0 auto;
  text-align: left;
}
p {
  color: #1989fa;
}
.one-line {
  text-overflow: ellipsis;
  overflow: hidden;
  word-break: break-all;
  white-space: nowrap;
  border: 1px solid #eef0f5;
}
</style>

二、多行文本溢出省略

在这里插入图片描述

<div class="wrap">
    <p>两行省略——基于行数截断</p>
    <div class="two-line">
      土地是世界上唯一值得你去为之工作,为之战斗,为之牺牲的东西。 Land is the
      only thing in the world worth working for, worth fighting for, worth dying
      for.
    </div>
</div>

<style>
.two-line {
  overflow: hidden;
  display: -webkit-box; /* 将对象作为弹性伸缩盒子模型显示 */
  -webkit-line-clamp: 2; /* 行数,值可以改,表示展示X行后多余的缩略展示 */
  -webkit-box-orient: vertical; /* 设置或检索伸缩盒对象的子元素的排列方式 */
  word-break: break-all;
  border: 1px solid #eef0f5;
}
</style>

三、超过元素宽高省略显示

简单来说,超过元素宽高度后缩略展示,关键在于需要设置元素宽度与高度,然后再根据高度看下最多能放几行,设置-webkit-line-clamp的值为最大行数。
在这里插入图片描述

<div class="wrap">
    <p>超过元素宽高省略显示</p>
    <div class="limit-height">
      现在我发现自己活在一个比死还要痛苦的世界,一个无我容身之处的世界。 Now I
      find myself in a world which for me is worse than death. A world in which
      there is no place for me.
    </div>
</div>

<style>
.limit-height {
  width: 350px; 
  height: 65px;
  word-break: break-all;
  overflow: hidden;
  display: -webkit-box; 
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical; 
  border: 1px solid #eef0f5;
}
</style>

四、纯css实现文本展开 / 收起

在这里插入图片描述

<div class="hide-or-expend">
    <input id="expend" class="expend" type="checkbox" />
    <div class="content">
      <label class="btn" for="expend"></label>
      有时起初的隐忍可以避免一路的疼痛。 Sometimes a little discomfort in the
      beginning can save a whole lot of pain down the road.
      有人住高楼,有人在深沟,有人光万丈,有人一身锈,世人万千种,浮云莫去求,斯人若彩虹,遇上方知有。
      Some of us get dipped in flat, some in satin, some in gloss. But every
      once in a while you find someone who's iridescent, and when you do,
      nothing will ever compare.
    </div>
</div>

<style>
.hide-or-expend {
  display: flex;
  width: 350px;
  margin: 50px auto;
  overflow: hidden;
  text-align: left;
  border: 1px solid #eef0f5;
}
.content {
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.content::before {
  content: "";
  height: calc(100% - 23px);
  float: right;
}
.content::after {
  position: absolute;
  content: "";
  width: 999vw;
  height: 999vw;
}
.btn {
  float: right;
  clear: both;
  color: #1989fa;
  cursor: pointer;
}
.btn::before {
  content: "展开";
}
.expend {
  display: none;
}
.expend:checked + .content {
  -webkit-line-clamp: 999;
}
.expend:checked + .content::after {
  visibility: hidden;
}
.expend:checked + .content .btn::before {
  content: "收起";
}
</style>

参考文章:https://segmentfault.com/a/1190000040030723

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1350451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51单片机中TCON, IE, PCON等寄存器的剖析

在单片机中&#xff0c;如何快速通过名字记忆IQ寄存器中每一个控制位的作用呢&#xff1f; IE&#xff08;interrupt enable&#xff09;寄存器中&#xff0c;都是中断的使能位置。 其中的EA&#xff08;enable all&#xff09;是总使能位&#xff0c;ES(enable serial)是串口…

Find My帽子|苹果Find My技术与帽子结合,智能防丢,全球定位

帽子是戴在头部的服饰&#xff0c;多数可以覆盖头的整个顶部。主要用于保护头部&#xff0c;部分帽子会有突出的边缘&#xff0c;可以遮盖阳光。帽子亦可作打扮之用&#xff0c;也可以用来保护发型、遮盖秃头。可不同种类&#xff0c;例如贝雷帽、鸭舌帽等等。戴帽子在不同的地…

【23-24 秋学期】NNDL 作业13 优化算法3D可视化

编程实现优化算法&#xff0c;并3D可视化 1. 函数3D可视化 分别画出 和 的3D图 代码如下&#xff1a; from mpl_toolkits.mplot3d import Axes3D import numpy as np from matplotlib import pyplot as plt import torch from nndl.op import Op# 画出x**2 class Optimized…

关于Python里xlwings库对Excel表格的操作(二十四)

这篇小笔记主要记录如何【如何使用xlwings库中的“api”类设置单元格边界线型、粗细、颜色】。前面的小笔记已整理成目录&#xff0c;可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 &#xff08;1&#xff09;如何安装导入xlwings库&#xff1b;…

宣传照(私密)勿转发

精美的海报通常都是由UI进行精心设计的&#xff0c;现在有100 件商品需要进行宣传推广&#xff0c;如果每个商品都出一张图显然是不合理的&#xff0c;且商品信息各异。因此需要通过代码的形式生成海报。对此&#xff0c;我也对我宣传一波&#xff0c;企图实现我一夜暴富的伟大…

深度学习代码20240102

import torch from torch import nn #搭建神经网络 class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()#在 Tudui 类的构造函数中调用其父类的构造函数&#xff0c;以确保执行父类的初始化操作#通过 super(Tudui, self).__init__()&#xff0c;我们获取…

基于springboot技术的美食烹饪互动平台的设计与实现

&#x1f345;点赞收藏关注 → 私信领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345;一 、设计说明 1.1 课题背景 二…

【C++】浅拷贝 / 深拷贝 / 写时拷贝

文章目录 1. 经典的string类问题2. 浅拷贝3. 深拷贝3.1 传统写法的String类3.2 现代写法的String类 4. 写时拷贝 1. 经典的string类问题 上一篇博客已经对string类进行了简单的介绍&#xff0c;大家只要能够正常使用即可。 链接&#xff1a;【C】string 在面试中&#xff0c;面…

PMP报考别跟风!搞懂这些问题不踩坑

大家好&#xff0c;今天我想和大家分享一下关于PMP报考的一些问题。近年来&#xff0c;PMP认证越来越受到大家的关注&#xff0c;但是报考PMP并不是一件简单的事情&#xff0c;需要我们认真考虑和准备。下面我将从PMP是什么、PMP有什么用、PMP适合什么人考、PMP是学什么的、PMP…

Git开发工具基本使用

文章目录 前言Git仓库基本概念基本环境安装清除原先配置生成秘钥配置Host添加公钥Github添加Gitee添加测试 本地仓库基本概览查看提交日志(log)版本回退添加文件至忽略列表分支分支冲突 远程仓库推送到远程仓库从远程仓库中抓取和拉取 在Idea中使用Git总结 前言 这里只是对Git…

WPF+Halcon 培训项目实战(10):HS组件绘制图案

文章目录 前言相关链接项目专栏运行环境匹配图片模板匹配加载模板文件运行结果 绘制十字标 WPF HS组件绘制图像绘制和生成的区别 前言 为了更好地去学习WPFHalcon&#xff0c;我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只…

系列一、如何正确的获取Spring Cloud Alibaba Spring Cloud Spring Boot之间的版本对应关系

一、正确的获取Spring Cloud Alibaba & Spring Cloud & Spring Boot之间的版本对应关系 1.1、概述 Java发展日新月异&#xff0c;Spring Cloud Alibaba 、 Spring Cloud 、 Spring Boot在GitHub上的迭代也是异常的频繁&#xff0c;这也说明其社区很活跃&#xff0c;通…

NFS(文件存储服务)

题目 创建NFS共享文件夹,允许InsideCli可以远程挂载,映射挂载到D卷。共享文件夹路径为D:\shares\NFSshare。共享名称为NFSshare。允许未映射的用户访问。共享权限为读/写。服务配置步骤( 服务端 ) 步骤一 - 安装服务 步骤二 - 配置NFS服务 配置共享文件夹 选择共享路径

【BIG_FG_CSDN】C++ 数组与指针 (个人向——学习笔记)

一维数组 在内存占用连续存储单元的相同类型数据序列的存储。 数组是静态存储器的块&#xff1b;在编译时确定大小后才能使用&#xff1b; 其声明格式如下&#xff1a; 元素类型 数组名[常量]&#xff1b;元素类型&#xff1a;数组中元素的数据类型&#xff1b; 常量&#…

Linux系统驱动要如何学习

1.你将获得&#xff1a; 快速上手 Linux 操作系统&#xff1b; 掌握Linux 内核工作原理&#xff1b; 掌握Linux 内核调试手段&#xff1b; 掌握复杂驱动&#xff1a;USB、PCIE、V4L2等 这门课程旨在为你打开Linux内核驱动的大门&#xff0c;让你在探索Linux内核的旅程中获得前…

HPM6750开发笔记《GPIO例程深度解析》

目录 创建工程&#xff1a; 代码分析&#xff1a; 1.头文件包含&#xff1a; 2.宏定义&#xff1a; 3.中断服务程序&#xff08;ISR&#xff09;&#xff1a; 清除中断标志&#xff1a; 处理 LED 状态切换&#xff1a; 处理用户按键状态&#xff1a; 处理其他情况&…

Tomcat服务为什么起不来?

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 服务跑在Tomcat下面&#xff0c;有时候会遇到Tomcat起不来的情况。目前为止常遇到的情况有如下几种&#xff1a; 1. Tomcat服务…

Python模拟技巧实现自动抽屉登录和自动点赞

目录 一、引言 二、准备工作 三、自动抽屉登录 四、自动点赞 五、注意事项 六、案例分析 七、总结 一、引言 随着互联网的普及&#xff0c;人们越来越依赖于各种在线平台进行社交互动和信息获取。在这些平台上&#xff0c;用户需要登录才能享受各种服务&#xff0c;同时…

李宏毅机器学习第二十三周周报 Flow-based model

文章目录 week 23 Flow-based model摘要Abstract一、李宏毅机器学习1.引言2.数学背景2.1Jacobian2.2Determinant2.3Change of Variable Theorem 3.Flow-based Model4.GLOW 二、文献阅读1. 题目2. abstract3. 网络架构3.1 change of variable formula3.2 Coupling layers3.3Prop…

java数据结构与算法刷题-----LeetCode509. 斐波那契数

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难&#xff0c;但它就是固定套路而已。其实动态规划只…