css文本溢出截断省略

在我们的日常开发工作中,文本溢出截断省略是很常见的一种需考虑的业务场景细节。看上去平常 ,但在实现上却有不同的区分,是单行截断还是多行截断?多行的截断判断是基于行数还是基于高度?这些问题之下,都有哪些实现方案?他们之间的差异性和场景适应性又是如何?

  1. 单行文本溢出省略

    核心 CSS 语句

overflow: hidden;(文字长度超出限定宽度,则隐藏超出的内容)
white-space: nowrap;(设置文字在一行显示,不能换行)
text-overflow: ellipsis;(规定当文本溢出时,显示省略符号来代表被修剪的文本)

    .demo {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
  1. 多行文本溢出省略

    核心 CSS 语句

-webkit-line-clamp: 2;(用来限制在一个块元素显示的文本的行数,2 表示最多显示 2 行。为了实现该效果,它需要组合其他的 WebKit 属性)
display: -webkit-box;(和 1 结合使用,将对象作为弹性伸缩盒子模型显示 )
-webkit-box-orient: vertical;(和 1 结合使用 ,设置或检索伸缩盒对象的子元素的排列方式 )
overflow: hidden;(文本溢出限定的宽度就隐藏内容)
text-overflow: ellipsis;(多行文本的情况下,用省略号 “…” 隐藏溢出范围的文本)

   .demo {
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
  1. 多行文本溢出不显示省略号

    核心 CSS 语句

overflow: hidden;(文本溢出限定的宽度就隐藏内容)
line-height: 20px;(结合元素高度,高度固定的情况下,设定行高, 控制显示行数)
max-height: 40px;(设定当前元素最大高度)

    .demo {
        overflow: hidden;
        max-height: 40px;
        line-height: 20px;
    }

你可能感兴趣的:(前端,css,文本溢出)