对于一个reactjs应用程序,我使用Material-ui(https://material-ui.com/)进行设计,并且我需要在卡片上写两行完全匹配的文本。
当文本可以包含在2行或1行中时,我已经做的工作,但对于较长的文本,剪切变成单词之前,而不是省略号。
这是我所做的
<Box
fontSize="h5.fontSize"
component="div"
overflow="hidden"
textOverflow="ellipsis"
height={70}
>
{title}
</Box>
在第一张卡片上效果很好,因为在第二张卡片上,最后一个单词'Floooooo'显示在隐藏的部分(第三行),但没有显示在第二行的省略号中。我尝试添加whiteSpace=“nowrap”,但文本只有一行高(图2)
你能帮帮我吗?
4条答案
按热度按时间6gpjuf901#
备注
"sx"是在较新版本的MUI中工作的属性
6qqygrtg2#
您可以将CSS规则
-webkit-line-clamp: 2
与word-break: break-all
结合使用drnojrws3#
试着这样做:
jrcvhitl4#
对于那些希望覆盖
Typography
组件上的noWrap
属性的用户,可以在createTheme()
中执行以下操作:然后在代码中像往常一样使用:
<Typography noWrap>[Your overflowing text]</Typography>
更多信息请点击这里:www.example.comhttps://mui.com/material-ui/customization/theme-components/#overrides-based-on-props
如果你想要的行数是可定制的,我来到这个相当丑陋的解决方案:
然后:
<Typography noWrap data-lines="3">[Your overflowing text]</Typography>