首先注意:display为flex是不生效的
1.单行实现文字省略号
/*1. 先强制一行内显示文本*/
white-space: nowrap;
/*2. 超出的部分隐藏*/
overflow: hidden;
/*3. 文字用省略号替代超出的部分*/
text-overflow: ellipsis;
2.第几行实现文字省略号
display:-webkit-box;
-webkit-box-orient:vertical;/*设置方向*/
-webkit-line-clamp:2;/*设置超过为省略号的行数*/
overflow:hidden;
使用webpack打包工具时,会忽视这个-webkit-box-orient属性,这里修改成下面的写法就可以了
display:-webkit-box;
overflow:hidden;
/*autoprefixer:off*/
-webkit-box-orient:vertical;
/*autoprefixer:on*/
-webkit-line-clamp:8;
text-overflow:ellipsis;
3.用js实现字数后加省略号
if(title.length>26){
title=title.substring(0,27)+"...";
}
4.换行word-break和word-wrap
white-space:normal(自动换行),当写入的文字超过定义的宽度后会自动换行,但当写入的数据是一堆没有空格的字符或者字母或者数字时,超过容器的宽度时就会把容器撑大,不换行
这时可以用:word-break:break-all;word-wrap:break-word来解决
word-break:break-all在超过容器宽度时,若有一个单词很长,则会将单词截断,分开写
word-wrap:break-word在超过容器宽度时,若有一个单词很长,则会将单词放到下一行,而不对单词进行截断
word-break:normal|break-all|keep-all
normal:允许在字内换行
break-all:允许在单词内换行
keep-all:只能在半角空格或连字符处换行。
word-wrap:normal|break-word
normal:允许内容顶开指定的容器边界
break-word:内容将在边界内换行。如果需要,词内换行(word-break)也会发生