gpt4 book ai didi

reactjs - Material-ui:用省略号在 2 行中写入文本

转载 作者:行者123 更新时间:2023-12-03 23:03:09 25 4
gpt4 key购买 nike

对于 reactjs 应用程序,我使用 Material-ui ( https://material-ui.com/ ) 进行设计。而且我需要在卡片中写入与 2 行完全匹配的文本。
当文本可以包含在 2 行或 1 行中时,我已经完成的工作,但对于较长的文本,剪切变为单词之前,而不是省略号。
enter image description here
这是我所做的

   <Box
fontSize="h5.fontSize"
component="div"
overflow="hidden"
textOverflow="ellipsis"
height={70}
>
{title}
</Box>
在第一张牌上的结果是好的,因为在第二张牌上,最后一个单词“Floooooo”显示在隐藏部分(第三行)中,但没有显示在带有省略号的第二行中。我尝试添加 whiteSpace="nowrap"但文本只有 1 行高(图 2) enter image description here
你能帮我吗?

最佳答案

您可以使用 CSS 规则 -webkit-line-clamp: 2结合 word-break: break-all

const useStyles = makeStyles({
root: {
maxWidth: 300,
},
media: {
height: 100,
},
customBox: {
display: "-webkit-box",
boxOrient: "vertical",
lineClamp: 2,
wordBreak: "break-all",
overflow: "hidden"
}
});

function App() {

const classes = useStyles();
const title = "pos2 test long Flooooooooooooooooooooooooooooooooooo";

return (
<Card className={classes.root}>
<CardMedia
className={classes.media}
image="https://via.placeholder.com/300x100"
/>
<CardContent>
<Box
fontSize="h5.fontSize"
component="div"
classes={{root: classes.customBox}}
>
{title}
</Box>
</CardContent>
</Card>
);
}

ReactDOM.render(<App/>, document.getElementById("root"));
<body>
<div id="root"></div>

<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script src="https://unpkg.com/@material-ui/core@latest/umd/material-ui.development.js"></script>

<script type="text/babel">
const { Box, Card, CardContent, CardMedia, makeStyles } = MaterialUI;
</script>
</body>

关于reactjs - Material-ui:用省略号在 2 行中写入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64315111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com