文本多行省略号(CSS最优方案)
2024-10-10 09:45:22
Float定位溢出隐藏
优点:
- 纯CSS实现,性能好,不用js调优
- 兼容性高
- 多行省略,自动显示
缺点:
- 单词截断
代码如下:
<div class="ellipses-div">
<span class="ellipses-text">这是一段test字段,秋水共长天一色,落霞与孤鹜齐飞。这是一段test字段,秋水共长天一色,落霞与孤鹜齐飞。这是一段test字段,秋水共长天一色,落霞与孤鹜齐飞。这是一段test字段,秋水共长天一色,落霞与孤鹜齐飞。</span>
</div>
.ellipses-div{
line-height: 20px;
max-height: 40px;
overflow: hidden;
width: 300px; &:before {
float: left;
content: '';
height: 40px;
width: 22px
}
.ellipses-text{
float: right;
width: 100%;
margin-left: -22px;
// word-break: break-all;
}
&:after {
float: right;
content: '...';
width: 22px;
height: 20px;
position: relative;
left: 100%;
transform: translate(-100%, -100%);
padding-left: 8px;
} }
原理:
- 首先在父元素DIV里面设置三个float定位的元素,A(偏移伪元素), B(包裹text的元素), C(省略号元素)。
- A设置成左浮动,B,C设置右浮动,且B元素设置margin-left为负值,宽度100%, 使A,B重叠。
- 当B元素超过设置的行数或者高度时,C元素另起一行左侧显示,配合绝对定位,使C元素定位到父元素DIV的右下角位置。
- 当B元素没有超过设置的行数或者高度时,由于C元素绝对定位,肯定已经偏移出父元素DIV,自然不会显示了。
最新文章
- #9.5课堂JS总结#循环语句、函数
- HashTree(哈希树) ——和trie类似,只是将字符换成了质数,sphinx用到了???
- java内存模型-基础
- Spring AOP 深入剖析
- [IoC]6 详解@Autowired、@Qualifier和@Required
- 浅谈C++ Lambda 表达式(简称LB)
- 子PID namespace中获取父namespace中pid的方法
- Linux系统监控实用工具Glances
- 【html】 a 标签
- 模型组合(Model Combining)之Boosting与Gradient Boosting
- 团队项目7——团队冲刺(beta版本)
- Java高新技术第一篇:类加载器详解
- pandas小记:pandas基本设置
- Oracle树查询及相关函数
- Java CAS同步机制 实践应用
- 【python练习题】程序7
- Google浏览器——AxureRP_for_chorme_0_6_2添加
- BZOJ3273 : liars
- nginx代理后,获取request的ip
- C# 写App.config配置文件的方法
热门文章
- Springboot配置excludePathPatterns不生效
- 【C++学习笔记】C++经典十二道笔试题!你能做出几道?
- docker-搭建 kafka+zookeeper集群
- docker启动服务---------------redis
- linux磁盘空间满了
- Spring Boot 整合多点套路,少走点弯路~
- c++ 遍历目录下文件、文件夹
- git学习(二) git的文件状态
- Swagger配置与使用
- Windows2008R2+ IIS7.5+php+mysql 搭建教程