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

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

处理文本的溢出的方式: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 theonly thing in the world worth working for, worth fighting for, worth dyingfor.</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 Ifind myself in a world which for me is worse than death. A world in whichthere 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 thebeginning can save a whole lot of pain down the road.有人住高楼,有人在深沟,有人光万丈,有人一身锈,世人万千种,浮云莫去求,斯人若彩虹,遇上方知有。Some of us get dipped in flat, some in satin, some in gloss. But everyonce 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.mzph.cn/news/593411.shtml

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

相关文章

TikTok未来十年:平台发展的前瞻性思考

TikTok&#xff0c;作为全球短视频平台的领军者&#xff0c;已经在数字时代崭露头角。然而&#xff0c;随着技术的飞速发展和用户需求的变化&#xff0c;TikTok未来十年的发展前景充满了挑战和机遇。本文将深入探讨TikTok未来的发展方向&#xff0c;从技术、内容、社交和商业等…

SQL是什么?它有什么功能和特性?它值不值得我们去学习?我们该如何去学习呢?

SQL&#xff08;Structured Query Language&#xff09;是一种用于管理关系型数据库的标准化语言。它是一种专门用于查询、操作和管理数据库的语言&#xff0c;可以用于创建、修改和删除数据库中的数据表、索引和视图&#xff0c;以及执行数据查询、插入、更新和删除操作。 SQ…

OpenCV-Python(24):模板匹配

原理及介绍 模板匹配是一种常用的图像处理技术&#xff0c;它用于在一幅图像中寻找与给定模板最匹配的区域(在一副大图中搜寻查找模版图像位置的方法)。模板匹配的基本思想是将模板图像在目标图像上滑动&#xff0c;并计算它们的相似度&#xff0c;找到相似度最高的位置即为匹配…

2024款HarmonyOS教程 Next_HarmonyOS4鸿蒙OS最新入门实战全套教程

IT营大地老师2024款HarmonyOS视频教程重磅来袭&#xff01;视频 课件 源码等配套资料均可免费下载学习&#xff08;网盘下载地址&#xff1a;最新HarmonyOS系列教程下载地址-IT营大地老师--更新中&#xff09; 2024新出HarmonyOS Next_HarmonyOS4鸿蒙OS视频教程目录介绍&#…

LeetCode做题总结 15. 三数之和(未完)

不会做&#xff0c;参考了代码随想录和力扣官方题解&#xff0c;对此题进行整理。 代码思路 思想&#xff1a;利用双指针法&#xff0c;对数组从小到大排序。先固定一个数&#xff0c;找到其他两个。 &#xff08;1&#xff09;首先对数组从小到大排序。 &#xff08;2&…

2024史上最全的 iOS 各种测试工具集锦!

引言&#xff1a; 随着移动互联网的兴起&#xff0c;APP 测试的越来越被重视&#xff01;Android 系统因为自己的开源性&#xff0c;测试工具和测试方法比较广为流传&#xff0c;但是 iOS 系统的私密性&#xff0c;导致很多测试的执行都有点麻烦。 为了帮助大家更好的执行 iO…

Axure鲜花速递商城网站原型图,花店网站O2O本地生活电商平台

作品概况 页面数量&#xff1a;共 30 页 兼容软件&#xff1a;仅支持Axure RP 9/10&#xff0c;非程序软件无源代码 应用领域&#xff1a;鲜花网、花店网站、本地生活电商 作品特色 本作品为「鲜花购物商城」网站模板&#xff0c;高保真高交互&#xff0c;属于O2O本地生活电…

css设置图片左上角加文字

要在图片的左上角添加文字&#xff0c;可以使用CSS的position属性来定位文字元素&#xff0c;然后使用z-index属性来确保文字在图片上方显示。以下是示例CSS代码&#xff1a; css&#xff1a; .container {position: relative; }.text {position: absolute;top: 0;left: 0;z-…

香橙派--关于jammy-xfce-arm64.f12a43b3e629442a073a7236bf9166ce.tar.lz4的rootfs定制与镜像制作

使用 x64 的 Ubuntu22.04 电脑编译 Linux SDK&#xff0c;即 orangepi-build&#xff0c;支持在安装有 Ubuntu 22.04 的电脑上运行&#xff0c;所以下载 orangepi-build 前&#xff0c;请首先确保自己电脑已安装的 Ubuntu 版本是 Ubuntu22.04。查看电脑已安装的 Ubuntu 版本的命…

论文阅读--EFFICIENT OFFLINE POLICY OPTIMIZATION WITH A LEARNED MODEL

作者&#xff1a;Zichen Liu, Siyi Li, Wee Sun Lee, Shuicheng YAN, Zhongwen Xu 论文链接&#xff1a;Efficient Offline Policy Optimization with a Learned Model | OpenReview 发表时间&#xff1a; ICLR 2023年1月21日 代码链接&#xff1a;https://github.com/s…

什么是Maven ??? (以及关于依赖,中央仓库,国内源)

文章目录 什么是 Maven创建第一个 Maven 项目依赖管理Maven 的仓库Maven 如何设置国内源 什么是 Maven Maven &#xff1a;用于构建和管理任何基于java的项目的工具。**说白了就是管理 Java项目 的工具。**我们希望我们已经创建了一些东西&#xff0c;可以使Java开发人员的日常…

鸿蒙HarmonyOS- 弹框组件库

简介 今天介绍一个基于ArkUI框架开发的弹框组件库&#xff0c;该库基于ArkUI的弹框基础功能和自定义能力。针对通用的弹框业务场景&#xff0c;该库提供了丰富的组件弹窗功能。 包括确认输入弹窗、列表展示选择弹窗、自定义底部/顶部弹窗、自定义动画弹窗、自定义全屏弹窗、消息…

20.oracle保留小数或整数函数

oracle的函数主要有这几种 1、ceil(n)取整(大)&#xff0c;取比真值大的最小整数&#xff0c;注意正负数的取值&#xff1a; 如ceil(251.0001)252&#xff0c;ceil(-251.0001)-251&#xff0c;ceil(-251.9999)-251&#xff1b; select ceil(251.0000001) from dual; 结果&…

nginx访问路径匹配方法

目录 一&#xff1a;匹配方法 二&#xff1a;location使用: 三&#xff1a;rewrite使用 一&#xff1a;匹配方法 location和rewrite是两个用于处理请求的重要模块&#xff0c;它们都可以根据请求的路径进行匹配和处理。 二&#xff1a;location使用: 1&#xff1a;简单匹配…

一键制作电子样册,提升企业品牌形象

​电子样册作为一种新型的宣传方式&#xff0c;具有许多优势。首先&#xff0c;它打破了传统纸质宣传册的局限性&#xff0c;可以随时随地展示企业的产品和服务。其次&#xff0c;电子样册可以通过多媒体形式展示企业的品牌形象&#xff0c;包括图片、视频、文字等多种形式&…

Github 2023-12-31 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2023-12-31统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量TypeScript项目3Swift项目1Java项目1HTML项目1Astro项目1Python项目1C项目1Dart项目1Jupyter Notebook项目1C项…

Linux/Unix/国产化操作系统常用命令(二)

目录 后CentOS时代国产化操作系统国产化操作系统有哪些常用Linux命令关于Linux的LOGO 后CentOS时代 在CentOS 8发布后&#xff0c;就有了一些变化和趋势&#xff0c;可以说是进入了"后CentOS时代"。这个时代主要表现在以下几个方面&#xff1a; CentOS Stream的引入…

Doris 数仓使用规范(经验版)

第一部分&#xff1a;字符集规范 【强制】数据库字符集指定utf-8&#xff0c;并且只支持utf-8。 命令规范 【建议】库名统一使用小写方式&#xff0c;中间用下划线&#xff08;_&#xff09;分割&#xff0c;长度62字节内【建议】表名称大小写敏感&#xff0c;统一使用小写方…

Unity常见错误合集

前言 在Unity开发中&#xff0c;会出现一些报错&#xff0c;这次总结一下本人在开发中的常见错误&#xff0c;并跟随其解决方案&#xff0c;以便之后好进行回顾。 编译错误 1.1 错误信息&#xff1a;“The type or namespace name ‘XXX’ could not be found (are you miss…

知识库:提升客服效率的利器

相信大家都有过这样的经历&#xff1a;在需要帮助或解决问题时&#xff0c;与客服沟通却遇到了冗长的等待时间、低效的回答和重复的解决方案。这些问题不仅令人沮丧&#xff0c;也给企业带来了巨大的挑战。然而&#xff0c;随着技术的发展&#xff0c;客服系统中的知识库正逐渐…