当前位置: 首页 > web >正文

五种css溢出隐藏的方法----亲测可用

CSS中的文本溢出和多行省略是在布局设计中经常会遇到的问题。本文将介绍CSS的文本溢出和多行省略的实现方法。

目录

一、文本溢出

1.1、单行文本溢出省略:

1.2、多行文本溢出省略:

二、多行省略

2.1、使用纯文本实现

2.2、使用伪元素实现

总结


一、文本溢出

当容器中的文本内容超出容器的宽度或高度时,就会出现文本溢出的情况。下面介绍几种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前缀以及注意不同属性之间的兼容性。

http://www.xdnf.cn/news/11494.html

相关文章:

  • 基于Java SSM框架实现企业台账管理平台系统项目【项目源码+论文说明】计算机毕业设计
  • 4.4 matlab三维曲线(plot3函数、fplot3函数)
  • FusionCharts简单教程(一)---建立第一个FusionCharts图形
  • DNS服务器 - 理论
  • OpenGL学习之各种流程及函数详解——基于LearnOpenGL(持续更新)
  • 如何查看电脑使用记录?保障个人隐私和安全
  • CSS一级导航-天蓝色(带阴影)
  • app测试必掌握的核心测试:UI、功能测试!
  • 析构函数的定义 合成析构函数
  • Android和Ios的crash reporter(崩溃报告采集与上传)
  • 跳动爱心代码-李峋同款爱心代码1(完整代码)
  • Metalink使用
  • idou老师带你认识Istio13:Istio实现基础认证策略
  • simulink中积分环节、惯性环节、比例环节
  • null 与 not null
  • 软件工程知识——软件配置管理
  • 远程桌面连接命令和一些常用的cmd命令
  • location对象
  • GCC安装入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
  • 深入C#学习系列一:序列化(Serialize)、反序列化(Deserialize)
  • 6 种常见的线程池、线程池的线程数设计、线程池的拒绝策略、七种参数、线程池队列(默认队列)
  • 安卓开发Java版——UI界面的设计
  • 使用Serv-U搭建FTP服务器并公网访问
  • Office批量打印助手绿色版 Excel批量打印 Word 批量打印软件-供大家学习研究参考
  • 全面解析布局(Grid Canvas StackPanel Wrappanel
  • Spring cloud的Maven插件(一):repackage目标
  • 创建Oracle数据库
  • mysql drivermanager.getconnection_Java DriverManager.getConnection()方法:获取数据库连接
  • 破解软件下载网站100个
  • 深入了解与全面解析华为认证(HCIA/HCIP/HCIE)