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,自然不会显示了。

最新文章

  1. #9.5课堂JS总结#循环语句、函数
  2. HashTree(哈希树) ——和trie类似,只是将字符换成了质数,sphinx用到了???
  3. java内存模型-基础
  4. Spring AOP 深入剖析
  5. [IoC]6 详解@Autowired、@Qualifier和@Required
  6. 浅谈C++ Lambda 表达式(简称LB)
  7. 子PID namespace中获取父namespace中pid的方法
  8. Linux系统监控实用工具Glances
  9. 【html】 a 标签
  10. 模型组合(Model Combining)之Boosting与Gradient Boosting
  11. 团队项目7——团队冲刺(beta版本)
  12. Java高新技术第一篇:类加载器详解
  13. pandas小记:pandas基本设置
  14. Oracle树查询及相关函数
  15. Java CAS同步机制 实践应用
  16. 【python练习题】程序7
  17. Google浏览器——AxureRP_for_chorme_0_6_2添加
  18. BZOJ3273 : liars
  19. nginx代理后,获取request的ip
  20. C# 写App.config配置文件的方法

热门文章

  1. Springboot配置excludePathPatterns不生效
  2. 【C++学习笔记】C++经典十二道笔试题!你能做出几道?
  3. docker-搭建 kafka+zookeeper集群
  4. docker启动服务---------------redis
  5. linux磁盘空间满了
  6. Spring Boot 整合多点套路,少走点弯路~
  7. c++ 遍历目录下文件、文件夹
  8. git学习(二) git的文件状态
  9. Swagger配置与使用
  10. Windows2008R2+ IIS7.5+php+mysql 搭建教程