I'm trying to have a picture for each user alongside the main content. The content may vary in height, and the pictures may also vary in aspect ratio. The picture has a fixed width, and needs to be at least a certain height - however, if the content is higher, it should max out.
Here's an example, it fails at both tasks of

  1. 如果内容较短,则裁剪图像
  2. 如果内容太长,就会达到最大限度:

.container {
  display: flex;
  padding: 1rem;
  background: #ddd;
}
img {
  width: 4rem;
  height: auto;
  object-fit: cover;
}
<div class="container">
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Similique, voluptates?
</div>
<img src="https://placedog.net/500/700" />
</div>
<div class="container">
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. At dignissimos eius quam iste, ad quisquam quidem dolore blanditiis minus magnam. Odit, quia. Placeat non voluptatum quis ab suscipit sequi earum, itaque asperiores ullam quasi ipsum iste perferendis nisi dolorem dicta expedita repudiandae deserunt numquam dolores! Modi aliquid enim dicta est, optio fugit sequi accusantium laboriosam ducimus dolorum molestiae unde dignissimos ea laudantium cum nam, a, asperiores iste perspiciatis ab mollitia. Nisi vitae, fugiat ex, ratione, debitis autem inventore possimus vel quam, expedita error amet quas? Unde sunt, quas suscipit accusantium, asperiores ex voluptatem! Libero nihil quidem sit dolorem doloribus iure natus necessitatibus voluptas voluptates ab cum, eaque cupiditate ipsam, ducimus, vero, ipsum laboriosam eveniet. Ipsa ullam iure molestias eveniet doloremque eaque, distinctio aliquam consectetur minima odit iste nesciunt reiciendis possimus. Dolores consequuntur temporibus aspernatur laborum explicabo voluptas ipsam sit, quas veritatis doloribus dolorem veniam labore facilis distinctio quo a. Numquam itaque, voluptates expedita nisi eligendi necessitatibus cumque in, eaque adipisci soluta cum, nam veritatis odio! Deleniti saepe veritatis architecto modi id dignissimos obcaecati quibusdam sapiente, recusandae soluta, possimus, laboriosam harum eaque esse quae cumque unde. Officiis, ratione. Veritatis sit doloremque praesentium eius, excepturi officiis, illum, magni quisquam culpa consectetur exercitationem.
</div>
<img src="https://placedog.net/500/700" />
</div>

我已经try 过其他的事情,他们完成了一件事,但另一件却失败了.

推荐答案

您可以try 使用CSS GRID:

.container {
  display: grid;
  grid-template-columns: auto 4rem;
  gap: 1rem;
  padding: 1rem;
  background: #ddd;
  /* justify-content: start uncomment this if you want the first column as wide as its content */
}
img {
  width: 100%;
  height: 0; /* the text will define the height but the image not */
  min-height: min(200px, 100%); /* 100% but no more than 200px */
  object-fit: cover;
}
<div class="container">
  <div>
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Similique, voluptates?
  </div>
  <img src="https://placedog.net/500/700" />
</div>
<div class="container">
  <div>
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. At dignissimos eius quam iste, ad quisquam quidem dolore blanditiis minus magnam. Odit, quia. Placeat non voluptatum quis ab suscipit sequi earum, itaque asperiores ullam quasi ipsum iste perferendis
    nisi dolorem dicta expedita repudiandae deserunt numquam dolores! Modi aliquid enim dicta est, optio fugit sequi accusantium laboriosam ducimus dolorum molestiae unde dignissimos ea laudantium cum nam, a, asperiores iste perspiciatis ab mollitia.
    Nisi vitae, fugiat ex, ratione, debitis autem inventore possimus vel quam, expedita error amet quas? Unde sunt, quas suscipit accusantium, asperiores ex voluptatem! Libero nihil quidem sit dolorem doloribus iure natus necessitatibus voluptas voluptates
    ab cum, eaque cupiditate ipsam, ducimus, vero, ipsum laboriosam eveniet. Ipsa ullam iure molestias eveniet doloremque eaque, distinctio aliquam consectetur minima odit iste nesciunt reiciendis possimus. Dolores consequuntur temporibus aspernatur laborum
    explicabo voluptas ipsam sit, quas veritatis doloribus dolorem veniam labore facilis distinctio quo a. Numquam itaque, voluptates expedita nisi eligendi necessitatibus cumque in, eaque adipisci soluta cum, nam veritatis odio! Deleniti saepe veritatis
    architecto modi id dignissimos obcaecati quibusdam sapiente, recusandae soluta, possimus, laboriosam harum eaque esse quae cumque unde. Officiis, ratione. Veritatis sit doloremque praesentium eius, excepturi officiis, illum, magni quisquam culpa consectetur
    exercitationem.
  </div>
  <img src="https://placedog.net/500/700" />
</div>

Css相关问答推荐

将照片向下对齐至div并保持响应性

VueJS3+Vutify中缺少一些CSS类

如何在横向和纵向布局上使用 CSS 网格中的纵横比来保持纵横比

圆形按钮边框长度动画

仅 Select 嵌套 div 的底部,而不知道它们的嵌套程度

Tailwind CSS 不输出背景类

将 tailwincss 转换为普通 CSS?

如何禁用 Angular Material Pagination 按钮的波纹效果?

CSS 在具有多个背景图像的元素上过滤一个背景图像

用css画3个三角形

循环一个 sass/scss 变量以生成 css 变量

如何在 flex-wrap 中优先考虑第一行?

有没有办法让它比它更敏感?

bootstrap 模式对话框中的谷歌 map 自动完成结果

如何在 html/css 中的图像旁边垂直居中文本?

如何隐藏 Chrome 中 HTML5
元素上默认显示的箭头?

水平列表项

如何将 bootstrap 列高设为 100% 行高?

Select 器.class.class和.class.class有什么区别?

在 react-native 中使用 flex 使项目粘在底部