将一列的高度缩小到内容并将另一列的高度拉伸到相同的高度 [英] Shrink one column's height to content and stretch the other to the same height
问题描述
我们有一个两列布局,一个蓝色列和一个绿色列.它应该在以下条件后表现:
两列的宽度相等.
蓝色列的高度应根据其内容高度确定,不考虑绿色列.
绿色列应始终与蓝色列具有相同的高度.所以绿色列的高度应该完全由蓝色列的高度/蓝色列的内容决定.
位于绿色列内的灰色图像应拉伸到绿色列的高度,但保留尺寸.
有没有办法使用 flexbox 或其他 CSS 技术来实现这一点?
你可以这样做,在右边的列中使用绝对位置包装器,它会始终保持与左边相同的大小,如果内容太多,它滚动
html, body {边距:0;}.container, .left-column {显示:弹性;}.左列{弹性:1;flex-wrap: 包裹;背景:#69f;}.left-items {flex-basis: calc(50% - 10px);边距:5px;背景:浅灰色;}.右列{弹性:1;位置:相对;背景:#6f6;}.右包装{位置:绝对;左:5px;顶部:5px;右:5px;底部:5px;背景:浅灰色;溢出:自动;}
<div class="left-column"><div class="left-items">内容将在此处推送高度
<div class="left-items">内容将在此处推送高度
<div class="left-items">内容将在此处推送高度
<div class="left-items">内容将在此处推送高度
<div class="left-items">内容将在此处推送高度
<div class="left-items">内容将在此处推送高度