gpt4 book ai didi

html - 嵌套的 CSS 网格和图像大小调整

转载 作者:搜寻专家 更新时间:2023-10-31 08:24:32 25 4
gpt4 key购买 nike

我正在学习 CSS Grid,但在调整图像大小方面遇到了问题。

为了向您展示问题,我创建了一个包含 2 列的主布局,并在第一列内创建了另一个网格,我想在该网格中的一列中放置图像和一些文本。

请删除 html 注释,以便您看到图像。

在代码片段中,红色区域显示了图像应该放置的单元格。现在,图像大于红色“容器”(高度:200px)网格单元格,我希望图像在单元格内缩小,以便它适合内部并保持纵横比(左/右或顶部截止/底部是必需的)。图像上的对象适合不起作用。将图像定位为“object-position: 50% 50%”也不错,但这也不起作用。我目前不确定如何解决此问题。

.mainlayout {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto;
}

.media {
grid-column: 1 / 2;
grid-row: 1;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 200px auto auto;
}

.media .image {
grid-column: 1;
grid-row: 1;
background-color: red;
}

.media h4 {
grid-column: 1;
grid-row: 2;
}

.media p {
grid-column: 1;
grid-row: 3;
}
<section class="mainlayout">
<div class="media">
<div class="image">
<!--<img src="http://placehold.it/1000x1000">-->
</div>
<h4>Card title</h4>
<p>Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</section>

感谢您的帮助。

最佳答案

您没有对图像本身进行样式设置。将以下行添加到您的样式表。

.media .image img {
display: block;
max-width: 100%;
height: auto;
}

示例:https://jsfiddle.net/nsrfpkb2/8/


更新

您需要为您的 .image 元素提供 position: relative;overflow: hidden;。然后给你的 img position: absolute; top: 50%; left: 50%;transform: translate(-50 %, -50%);

.news_layout{
display:grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto;
}

.media{
grid-column: 1 / 2;
grid-row: 1;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 200px auto auto;
position: relative;
}

.media .image{
height: 200px;
grid-column: 1;
grid-row: 1;
background-color:red;
position: relative;
overflow: hidden;
}

.media .image img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: block;
max-width: 100%;
height: auto;
}

.media h4{
grid-column: 1;
grid-row: 2;
}

.media p{
grid-column: 1;
grid-row: 3;
}
<section class="news_layout">
<div class="media">
<div class="image">
<img src="http://placehold.it/1000x1000">
</div>
<h4>Card title</h4>
<p>Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</section>

关于html - 嵌套的 CSS 网格和图像大小调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42925433/

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