css - 在 flex box 中保持图像纵横比

标签 css flexbox aspect-ratio

所以我想在图像旁边放置文本,并且都居中。 Flexbox 似乎可以很好地解决这个问题,但图像不断被压扁。关于如何使图像保持其原始纵横比的任何想法?

.container {
  display: flex;
  width: 60%;
  margin: 0 auto;
  border: red 1px solid;
}
img {
  height: 300px;
  width: 300px;
}
p {
  padding: 30px;
}
<div class="container">
  <p class="inner">Lorem Pisum Doelem sipsum iflup getsup in da tubsusb
  </p>
  <img src="https://i.vimeocdn.com/portrait/15351700_300x300" />
</div>

这是我正在尝试做的一个例子。我认为 flex box 可以解决这个问题,我只是遇到了一点麻烦。

http://mojave-demo.squarespace.com/our-team-mojave/

最佳答案

您需要将图像放入另一个容器中,这样它的固有尺寸才不会受到影响。

.container {
  align-items: center;
  display: flex;
  width: 60%;
  margin: 0 auto;
  border: red 1px solid;
}

.image {
  flex: 1;
  max-width: 50%;
  min-width: 50%;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

p {
  padding: 30px;
  flex: 1;
}
<div class="container">
  <p class="inner">Lorem Pisum Doelem sipsum iflup getsup in da tubsusb
  </p>
  <div class="image">
    <img src="https://i.vimeocdn.com/portrait/15351700_300x300" />
  </div>
</div>

关于css - 在 flex box 中保持图像纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39863260/

相关文章:

css - 列数在 Firefox 中不起作用

jQuery retract 的使用会影响其他 div 标签

html - 更改 CSS 列的流向

responsive-design - float 列在某些屏幕尺寸上未正确对齐

css - 根据浏览器高度和宽度保持纵横比和字体大小?

安卓 ImageView-16 :9

javascript - 当悬停在覆盖第一个的另一个元素上时,停止触发悬停的 'out' 事件

html - 在单个背景图像中设置两个图像并对齐良好?

css - 使用 flexbox 垂直和水平对齐图像

html - 在具有多个 flexbox 元素的容器的右上角保留一个 div