html - 如何在图像上显示文本并在溢出时向上流动该文本?

标签 html css reactjs layout css-grid

我正在获取图像列表并在随机高度网格中显示它们。我想在每张图片上显示一些文字。目前我通过设置文本的顶部边​​距来显示文本,例如:

<div className="item-author" style={{ marginTop: `${item.height - 65}px` }}>
 {item.author}
</div>

那么,现在有两个问题:

我。这是在图像上显示文本的正确方法吗?

二。如何向上溢出这段文字?这段文字超过一行就往下溢出,难看吗?

最佳答案

您可以使用背景图片轻松实现此目的

html

 <div class="back" style="background-image:url('https://picsum.photos/id/659/200/300')" >

<p>Your text goes here</p>

</div>

CSS

   .back{
    background-repeat: no-repeat;
    background: none center/cover #f2f2f2;
    background-size: cover;

/*    tour required width height  */
  width:200px;
  height:200px;
  /* Added flex to overflow the text bottom of the picture */
  display: flex;
  align-items:flex-end;

}

Demo

关于html - 如何在图像上显示文本并在溢出时向上流动该文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57941247/

相关文章:

HTML:在仅使用 HTML 和 CSS 的内联列表中创建下拉列表

html - 与显示 block 一起使用时元素的位置错误

css - 如何排列多行/多列表格?

javascript - 在 React 中处理组件状态的正确方法是什么?

reactjs - react 16 警告 "warning.js:36 Warning: Did not expect server HTML to contain a <div> in <div>."

reactjs - 为什么这个 onChange 函数有效?

html - CSS 自定义标签形状 - 额外的行

javascript - 如何使用 onclick 类或标记名将所有按钮链接到另一个页面

javascript - 为什么图像显示空间并向右走,应该是填补空白

javascript - 简单的 javascript if 语句不起作用