如何在固定宽高的div中实现文本超出第二行时的省略号显示效果?

如何在固定宽高的div中实现文本超出第二行时的省略号显示效果?

巧妙控制div文本显示:第二行溢出显示省略号

前端开发中,经常需要在固定尺寸的div内显示文本,而当文本超过div大小,特别是超出第二行时,如何优雅地处理溢出内容是一个常见挑战。本文将介绍一种方法,让超出第二行的文本以省略号(…)结尾。

问题:假设有一个固定宽度和高度的div,需要在其中显示一段文字。当文字超过两行时,如何只显示前两行,并在末尾添加省略号?

解决方案:利用cssdisplay: -webkit-box、-webkit-line-clamp、-webkit-box-orient和overflow属性组合实现。

示例代码:

<div class="text">   浮动元素是如何定位的?正如我们前面提到的那样,当一个元素浮动之后,它会被移出正常的文档流,然后向左或者向右平移,一直平移直到碰到了所处的容器的边框,或者碰到另外一个浮动的元素。 </div>
.text {   width: 200px;   height: 38px;   display: -webkit-box;   -webkit-line-clamp: 2;   -webkit-box-orient: vertical;   overflow: hidden; }

代码解释:

  • display: -webkit-box;:启用WebKit的弹性盒子模型
  • -webkit-line-clamp: 2;:限制文本显示行数为2行。
  • -webkit-box-orient: vertical;:设置弹性盒子的方向为垂直。
  • overflow: hidden;:隐藏超出div范围的内容。

这种方法在chromesafari等WebKit内核浏览器中效果最佳。 对于其他浏览器,可能需要考虑使用JavaScript或其他CSS技巧来实现兼容性。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享