gpt4 book ai didi

css - REACTJS - 3 个基于网格的大小为 16 的框 :9 , 显示图片失真

转载 作者:行者123 更新时间:2023-11-28 00:46:17 25 4
gpt4 key购买 nike

3 个基于网格的框,大小为 16:9,覆盖整个页面宽度,应在不压缩/扭曲的情况下按此分区显示图片,同时显示完整图片。如果图片比盒子大,那么它应该覆盖整个宽度或整个高度,具体取决于哪个尺寸更大,并相应地调整另一个尺寸的大小。

我的第一个问题是: 我为网格内的每个 div 分配了 100% 的宽度,但是我应该分配多少高度尺寸?

第二:假设我根据我的要求进行了划分,我该怎么做 显示分区内的图片?。

目前进展: 我已经使用这个网站作为引用:dabblet 并使用 code其中 thumbnail-card 是我的 div,thumbnail 是我的图像。

.thumbnail-card {
height: 300px;
width: 100%;
background-color: black;
display: table-cell;
vertical-align: middle;
text-align: center;
}

.thumbnail-card:before {
content: "";
width: 1px;
height: 100%;
display: inline-block;
vertical-align: middle;
margin-left: -1px;
}

.thumbnail {
max-height: 100%;
max-width: 100%;
display: inline-block;
vertical-align: middle;
}

但垂直长图像的行为不符合我的需要。任何解决方案?图片引用:vertical_pic horizontal_pic how it looks

最佳答案

您的第一期:

要获取恒定的 16:9 比率的 div 元素,您不应使用 height,而应使用 padding-bottom。将 16:9 的比例转换为百分比。在您的情况下,宽度为 100%。然后计算 padding-bottom:9/16 * 100 是 16 的 56,25%

像这样:

div {
width: 100%;
padding-bottom: 56,25%;
}

另请参阅此堆栈溢出帖子:Maintain the aspect ratio of a div with CSS

您的第二期:

我认为 object-fit: contain; 是您需要的:https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit

在图像元素上使用它,它将包含到其父级。

关于css - REACTJS - 3 个基于网格的大小为 16 的框 :9 , 显示图片失真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53518052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com