在 Flex 中调整图像高度 100%

sta*_*lay 6 html css image flexbox

我在 div 中有一个响应式背景图像。我想要在其顶部有一个两列的 Flex 布局,其中左侧布局的图像高度为父 div 的 100%,宽度自动缩放,如响应式图像。右侧部分是在 Flex 中居中的两行文本。

这是迄今为止我能得到的最接近的。但 Flex 不会拉伸以适应背景 div 图像,并且当浏览器调整大小时,左侧图像不会相应缩放。

注意:代码中不应指定宽度和高度(以 px 为单位)

.parent {
  display: flex;
  align-items: center;
}

.left {
  height: 100%;
}

.right {
  flex: 1;
  background: blue;
}
Run Code Online (Sandbox Code Playgroud)
  <div style="position: relative;">
    <img src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTkyfCkzwQ7Lx4v3YRNao0lQgM-VkEj6iLWTHE8KqHF5tk4cl15WQ" style="width: 100%">
    <div style="position: absolute; top: 0; bottom: 0; left: 0; right: 0;">
      <div class="parent">
        <div class="left">
          <img src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcRsxhzGxiYQU_vp2YlN1LTMxQsYMhFDqTZLwfqMylCwqIahCu00Mf_0aDQ">
        </div>
        <div class="right">
          <p>
            123
          </p>
          <p>
            456
          </p>
        </div>
      </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

期待: 在此输入图像描述

小智 2

align-items: center; 从div 中删除 parent

如果您想居中对齐文本元素,请使用paddingposition: relative/position: absolute

然后应用 height: 100%;到图像上。