单行、多行文本超出显示省略号
1、单行文本省略
.ellipsis-line {
border: 1px solid #f70505;
padding: 8px;
width: 400px;
overflow: hidden;
text-overflow: ellipsis; //文本溢出显示省略号
white-space: nowrap; //文本不会换行
}
语法:
值 | 默认值 | 适用 |
---|---|---|
clip;ellipsis | clip | 所有元素 |
属性 | 解释 |
---|---|
clip | 当对象内文本溢出时不显示省略标记(…),而是将溢出的部分裁切掉。 |
ellipsis | 当对象内文本溢出时显示省略标记(…)。 |
注意:使用ellipsis的时候,必须配合overflow:hidden; white-space:nowrap;这三个样式共同使用才会有效果。
2、多行文本省略
直接用css属性-webkit-line-clamp:n;设置
在WebKit浏览器或移动端(绝大部分是WebKit内核的浏览器)的页面实现比较简单,可以直接使用WebKit的CSS扩展属性(WebKit是私有属性)-webkit-line-clamp ;注意:这是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。
-webkit-line-clamp:n;
用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:display: -webkit-box;
必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。-webkit-box-orient
必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。text-overflow: ellipsis;
,可以用来多行文本的情况下,用省略号“…”隐藏超出范围的文本。
这个属性只合适WebKit浏览器或移动端(绝大部分是WebKit内核的)浏览器
.multi-line {
border: 1px solid #f70505;
width: 400px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
3、示例:
render:(h,params)=> {
return h('Tooltip', {
props: {
placement:'bottom',
content: params.row.result,
transfer: true,
maxWidth: 800,
}
}, [
h('span', {
style: {
display: 'inline-block',
width: '100px',
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap'
},
}, params.row.result)
])
}