下面我将为大家详细讲解“纯CSS实现文本溢出截断省略”的几种方法,包括单行文本截断和多行文本截断。
下面我将为大家详细讲解“纯CSS实现文本溢出截断省略”的几种方法,包括单行文本截断和多行文本截断。
单行文本截断
方案一:利用text-overflow属性
/* 显示省略号 */
.ellipsis1 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
使用text-overflow属性可以很方便地实现单行文本的截断并且在末尾添加省略号。其中,text-overflow: ellipsis表示末尾用省略号表示超出的内容。
方案二:利用width和overflow属性
/* 显示省略号 */
.ellipsis2 {
width: 100px;
overflow: hidden;
white-space: nowrap;
}
/* 不显示省略号 */
.no-ellipsis {
width: 100px;
overflow: hidden;
white-space: nowrap;
}
同时利用width和overflow属性可以实现单行文本的截断,如果想要在末尾添加省略号,只需要设置text-overflow属性为ellipsis,否则可以不设置。
多行文本截断
方案一:利用-webkit-line-clamp属性
.ellipsis-multiline {
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
-webkit-line-clamp属性是一个WebKit私有属性,可以限制在一个块元素显示的文本的行数。该属性需要结合display属性的-webkit-box(将对象作为弹性伸缩盒子模型显示)属性和WebKit私有属性-webkit-box-orient(设置或检索伸缩盒对象的子元素的排列方式)属性一起使用。
方案二:利用纯CSS实现
.content {
position: relative;
width: 150px;
line-height: 1.2em;
overflow: hidden;
}
.content::before {
content: "...";
position: absolute;
right: 0;
bottom: 0;
}
.content::after {
content: "";
position: absolute;
right: 0;
width: 20px;
height: 1.2em;
margin-top: -1.2em;
background: #fff;
}
该方案利用了伪元素 ::before 和 ::after 来实现文本的截断。 ::before 元素添加 "...", ::after 元素使用background 属性,使省略号在文本后不会显示。
以上是实现文本溢出截断省略的几种方法并举了两个例子来介绍。希望对大家有所帮助。
本文标题为:纯CSS实现“文本溢出截断省略”的几种方法


- 解决Layui数据表格中checkbox位置不居中 2022-12-13
- JavaScript进阶教程之非extends的组合继承详解 2022-10-21
- Vue导出word+echarts,pdf 2023-10-08
- Linux(centos)使用docker安装pdf2htmlEX 2023-10-25
- SSM+layui前端form表单传到后端乱码问题解决 2022-11-22
- 如何使用AJAX实现按需加载【推荐】 2022-12-28
- 基于JavaScript定位当前的地理位置 2023-12-24
- 纯CSS实现鼠标放上滑动出半透明效果的文字说明(新手小白 必看) 2024-01-05
- php-从包含HTML标记的SQL数据库填充HTML表单 2023-10-26
- 基于HTML5 Ajax文件上传进度条如何实现(jquery版本) 2022-10-17