前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原生CSS实现单行多余省略和多行多余省略

原生CSS实现单行多余省略和多行多余省略

作者头像
lonelydawn
发布2021-10-19 15:43:26
3.2K0
发布2021-10-19 15:43:26
举报

在日常开发中,经常会遇到一些省略文本的需求,比如“文本在一行显示,超出部分在结尾用省略号显示”、“最多显示三行,超出部分在第三行末尾用省略号显示”。

这些需求用纯CSS即可实现。

代码如下:

代码语言:javascript
复制
<style type="text/css">
	body {
		color: #AFAFAF;
		background-color: black;
	}
	.border-dividor {
		border: 1px solid #AFAFAF;
	}
	.one-line {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		word-break: break-all;
	}
	.mutiple-line-ellipsis {
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		/*! autoprefixer: off */
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
</style>

	<p class="border-dividor one-line">层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。</p>
	<p class="border-dividor mutiple-line-ellipsis">层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。</p>

单行省略

.one-line 定义了单行省略样式,样式含义:

  • overflow: hidden 隐藏超出元素区域的内容
  • text-overflow: ellipsis 以省略号显示超出的文本
  • white-space: nowrap 设置文本不换行
  • word-break: break-all 即使结尾处是英文单词,也直接截断,不需要在空格或连字符处换行

多行省略

.mutiple-line-ellipsis 定义了多行省略样式,样式含义:

  • overflow: hidden 隐藏超出元素区域的内容
  • text-overflow: ellipsis 以省略号显示超出的文本
  • display: -webkit-box; 修改布局方式
  • -webkit-box-orient: vertical; 设置元素从顶到底部排列
  • -webkit-line-clamp: 3; 设置元素只显示三行

-webkit-box 布局对老旧浏览器和 IE 浏览器的兼容不是很好,具体兼容性可在 caniuse.com 上查询。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 单行省略
  • 多行省略
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档