我有一个包含书名的div数组,我使用.map
函数对从数据库中获取的数据生成了这些div,其中一些书名太长了,所以我使用了下面的CSS来隐藏它们:
.book-title{
font-weight: 600;
height: 1.5rem;
max-width: 15rem;
overflow: hidden;
padding-top: 0.7rem;
}
但是我希望当用户悬停在div上时文本可见。我目前的解决方案适用于.map
函数生成和显示的所有div-我不确定如何使其仅适用于文本太长的div。
.book-title:hover{
height: 6rem;
overflow: visible;
}
有没有一种合适的方法可以用react来实现这一点?
下面是相关的.jsx
const listsForFrontPage = listArray.map((book, id) => {
return (
<Link className="book-link" to={`/books/${book.book_id}`} key={id}>
<div className="book-card">
<div className="book-card-image">
<img
className="cover-image"
src={book.cover_image}
alt="The book cover"
/>
</div>
<div className="book-info">
<div className="book-title">{book.title}</div>
<div className="author-name">{book.name}</div>
</div>
</div>
</Link>
)
})
1条答案
按热度按时间8zzbczxx1#
您需要检查元素是否溢出
添加用户参考:
那么你应该创建一个函数来检查元素是否溢出:
然后需要根据isOverflated值添加类:
别忘了加上你的css: