当 n为3时,css代码如下:
display: -webkit-box;
white-space: normal;
text-overflow: ellipsis;
overflow: hidden;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
height: calc(3rem);
为了实现鼠标停留时,展示完整文字,封装组件 ——React版:
import React from 'react';
/**
* 利用 a标签的 title属性
* @param {String} text 展示的文案
* @param {Boolean} multiLine 多行行数,单行不传
*/
const ElementA = (text, multiLine=false) => {
return (
<a
style={{
color: 'inherit',
cursor: 'inherit',
display: multiLine ? '-webkit-box' : 'inline-block',
width: '100%',
whiteSpace: multiLine ? 'normal' : 'nowrap',
textOverflow: 'ellipsis',
overflow: 'hidden',
WebkitLineClamp: multiLine || 1,
WebkitBoxOrient: multiLine ? 'vertical' : '',
height: multiLine ? `calc(${multiLine} * 1rem)` : 'auto',
}}
title={text}
>
{text}
</a>
);
};
export default ElementA;
// 组件中使用方法:
// ElementA('展示的文案限制 3 行', 3);
// ElementA('展示的文案限制 1 行');
网友评论