css - 右栏应与左栏一样高
问题描述
我想要一个div
包含两列,其中左侧包含文本,右侧包含图像。图像的高度应由文本的长度决定。图像不应超过视口宽度的 40%,并且不应超过文本的高度。没有以固定数量的像素给出大小。
这是我到目前为止想出的(我在这里将其剥离,因此出于移动视图的原因,右列必须先出现,因为在移动视图中,图像显示在文本上方):
的CSS:
.my_list_item_container {
clear: both;
justify-content: space-between;
border-bottom: 1px solid #d8d8d8;
padding-bottom: 2rem;
margin-bottom: 2rem;
}
.my_list_item_container_flex {
display: flex;
flex-direction: column;
}
.my_list_item_left_column {
display: flex;
flex-direction: column;
margin-top: 1rem;
}
.my_list_item_right_column {
float: right;
}
的HTML:
<div class="my_list_item_container my_list_item_container_flex">
<div class="my_list_item_right_column">
<img src="example.png">
</div>
<div class="my_list_item_left_column">
Lorem ipsum...
</div>
</div>
并且有一个JS函数附加到事件resize
事件中window
。我认为有必要使用 JavaScript 来处理这个问题,但也许纯 CSS 解决方案是可能的(我没有找到任何解决方案,但我对 CSS 不太熟悉):
function my_item_resize(event) {
let containers = document.querySelectorAll(".my_list_item_container")
for (let container of containers) {
let leftcol = container.querySelector(".my_list_item_left_column")
let rightcol = container.querySelector(".my_list_item_right_column")
container.style.height = leftcol.offsetHeight + "px"
}
}
所以,它应该看起来像这样,X 应该是图像:
+--------------------+-------+
| Lorem ipsum dolor | XXXXX |
| sit amet consecutor| XXXXX |
| libit aurum est. | XXXXX |
+--------------------+-------+
如果图像的比例较窄,则应按比例缩小到文本高度,而不是如下所示:
+--------------------+-------+
| Lorem ipsum dolor | XXXXX |
| sit amet consecutor| XXXXX |
| libit aurum est. | XXXXX |
| | XXXXX |
| | XXXXX |
+--------------------+-------+
解决方案
推荐阅读
- xml - 在 XSD 中嵌套来自不同命名空间的 XML 元素
- python - AttributeError: ResultSet 对象没有属性 'find_all' - Web 抓取 - Beautiful Soup
- c# - 如何获取对数据集的更改并将更改保存到数据库
- c# - 在 Mac 上的 Unity 中使用 .NET 4.x
- javascript - 如何在 JavaScript 中链接两到三个第三方回调?
- swift - 如何从同一个 ViewController 的扩展中访问 var
- r - 如果最后一个obs小于某个值,如何删除一组数据?
- ms-access - MS Access 中的 ISNULL(Column1,Column2) 等效项?
- requirejs - 如何使用 requirejs(在 Moodle 中)加载 Tempus Dominus Bootstrap 4?(错误:没有为 datetimepicker 定义调用)
- java - 侦听 SQL Server 数据库更改