CSS中的文本溢出和多行省略是在布局设计中经常会遇到的问题。本文将介绍CSS的文本溢出和多行省略的实现方法。
一、文本溢出
当容器中的文本内容超出容器的宽度或高度时,就会出现文本溢出的情况。下面介绍几种CSS实现文本溢出的方法。
1.1、单行文本溢出省略:
单行文本溢出省略通常用于标题等文本显示,可以通过设置white–space和text–overflow属性实现。
white–space属性:用来设置元素中的空白如何处理,默认值为normal,即会自动忽略多余的空格和换行符。当设为nowrap时,文本不会换行。
text–overflow属性:用来控制溢出文本的显示方式,默认值为clip,即将溢出部分截去。当设置为ellipsis时,会显示省略号。
<style>
.overflow {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
</style>
<div class="overflow">这是一段需要溢出省略的文本内容</div>
1.2、多行文本溢出省略:
多行文本溢出省略也可以通过设置text–overflow属性来实现。但是,text-overflow属性对于多行文本是不起作用的,需要结合其他属性来实现。
–webkit–line–clamp属性:用来限制显示的行数。
display属性:用来设置容器的display属性为-webkit–box,使其变成一个块级盒子。
–webkit-box–orient属性:用来设置块级盒子的排列方向为垂直方向。
<style>
.overflow {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
text-overflow: ellipsis;
overflow: hidden;
}
</style>
<div class="overflow">这是一段需要溢出省略的多行文本内容,如果文本过长会出现省略号</div>
二、多行省略
多行省略主要是用来实现在固定高度的容器中,将超出容器高度的文本省略掉。同样,对于单行文本省略,可以使用text-overflow属性,但对于多行省略,则需要结合其他属性来实现。
2.1、使用纯文本实现
示例代码:
<style>
.ellipsis {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-height: 25px;
height: 50px;
}
</style>
<div class="ellipsis">这是一段需要省略的多行文本内容,如果文本过长会出现省略号</div>
2.2、使用伪元素实现
示例代码:
<style>
.ellipsis::before {
content: "...";
position: absolute;
bottom: 0;
right: 0;
padding-left: 10px;
background: white;
}
.ellipsis {
position: relative;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-height: 25px;
height: 50px;
}
</style>
<div class="ellipsis">这是一段需要省略的多行文本内容,如果文本过长会出现省略号</div>
总结
以上就是CSS实现文本溢出和多行省略的方法,对于不同的需求可以根据实际情况选择不同的实现方式。在实际开发中,我们需要根据不同的浏览器的兼容性来使用相应的CSS前缀以及注意不同属性之间的兼容性。
原文地址:https://blog.csdn.net/m0_72196169/article/details/132707080
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_31022.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!