gpt4 book ai didi

html - 如何在不移动其他元素的情况下在 div 中使用图像

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:34 26 4
gpt4 key购买 nike

我正在使用 flex-box 并试图让我的网站响应。现在我需要在黄色 div 中放置一个图像,但是当我这样做时,所有结构都会发生变化。我试着玩弄宽度和高度,但可以做到这一点。希望你们中的一个能帮帮我

:root {
--main-color: #0077be;
}

body {
font-family: "Open Sans", sans-serif;
text-align: right;
}

ul,
li {
list-style: none;
padding: 0;
margin: 0;
}

div {
border: 1px solid gray;
}

.screen {
padding: 100px;
background-color: #ededed;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}

.wrapper {
width: 1200px;
height: 450px;
background-color: #fff;
display: flex;
flex-direction: column;
}

.section-title {
flex-grow: 1;
}

.news-conainer {
flex-grow: 11;
display: flex;
flex-direction: column;
padding: 17px;
}

.main-news {
flex-grow: 11;
display: flex;
flex-direction: row-reverse;
}

.foot-news {
flex-grow: 1;
}

.right {
flex-grow: 7;
display: flex;
flex-direction: row-reverse;
margin-left: 20px;
}

.left {
flex-grow: 10;
display: flex;
flex-direction: column;
}

.img {
max-height: 100%;
overflow: hidden;
}

.img img {
max-width: 100%;
min-height: 100%;
}

.info {
flex-grow: 1;
}

.left-news {
flex-grow: 1;
display: flex;
flex-direction: row-reverse;
}

.left-news:nth-child(2) {
margin: 10px 0;
}

.left-news-img {
flex-grow: 1.5;
background-color: yellow;
}

.left-news-info {
flex-grow: 3;
}
<div class="screen">
<div class="wrapper">
<div class="section-title">title</div>
<div class="news-conainer">
<div class="main-news">
<div class="right">
<div class="img">
<img src="./new1.JPG" alt="" />
</div>
<div class="info">info</div>
</div>

<div class="left">
<div class="left-news">
<div class="left-news-img">
<img src="./new1.JPG" alt="" />
</div>
<div class="left-news-info"></div>
</div>
<div class="left-news">
<div class="left-news-img">
<img src="./new1.JPG" alt="" />
</div>
<div class="left-news-info"></div>
</div>
<div class="left-news">
<div class="left-news-img">
<img src="./new1.JPG" alt="" />
</div>
<div class="left-news-info"></div>
</div>
</div>
</div>
<div class="foot-news"></div>
</div>
</div>
</div>

我需要的结果是在黄色 div 处包含一个 标签而不破坏其他尺寸及其位置

谢谢!

enter image description here

添加结果

.left-news-img {
max-width: 30%;
}
.left-news-img > img {
max-width: 100%;
}

enter image description here

最佳答案

你必须使用max-width

.left-news-img {
max-width: 30%;
}
.left-news-img > img {
max-width: 100%;
}

:root {
--main-color: #0077be;
}

body {
font-family: "Open Sans", sans-serif;
text-align: right;
}

ul,
li {
list-style: none;
padding: 0;
margin: 0;
}

div {
border: 1px solid gray;
}

.screen {
padding: 100px;
background-color: #ededed;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}

.wrapper {
width: 1200px;
height: 450px;
background-color: #fff;
display: flex;
flex-direction: column;
}

.section-title {
flex-grow: 1;
}

.news-conainer {
flex-grow: 11;
display: flex;
flex-direction: column;
padding: 17px;
}

.main-news {
flex-grow: 11;
display: flex;
flex-direction: row-reverse;
}

.foot-news {
flex-grow: 1;
}

.right {
flex-grow: 7;
display: flex;
flex-direction: row-reverse;
margin-left: 20px;
}

.left {
flex-grow: 10;
display: flex;
flex-direction: column;
}

.img {
max-height: 100%;
overflow: hidden;
}

.img img {
max-width: 100%;
}

.info {
flex-grow: 1;
}

.left-news {
flex-grow: 1;
display: flex;
flex-direction: row-reverse;
}

.left-news:nth-child(2) {
margin: 10px 0;
}

.left-news-img {
flex-grow: 1.5;
background-color: yellow;
}

.left-news-info {
flex-grow: 3;
}
.left-news-img {
max-width: 30%;
}
.left-news-img > img {
max-width: 100%;
}
.right > .img{
max-width: 30%;
}
<div class="screen">
<div class="wrapper">
<div class="section-title">title</div>
<div class="news-conainer">
<div class="main-news">
<div class="right">
<div class="img">
<img src="https://via.placeholder.com/250x130" alt="" />
</div>
<div class="info">info</div>
</div>

<div class="left">
<div class="left-news">
<div class="left-news-img">
<img src="https://via.placeholder.com/250x130" alt="" />
</div>
<div class="left-news-info"></div>
</div>
<div class="left-news">
<div class="left-news-img">
<img src="https://via.placeholder.com/250x130" alt="" />
</div>
<div class="left-news-info"></div>
</div>
<div class="left-news">
<div class="left-news-img">
<img src="./new1.JPG" alt="" />
</div>
<div class="left-news-info"></div>
</div>
</div>
</div>
<div class="foot-news"></div>
</div>
</div>
</div>

更新

对于您的右侧部分,您必须提供一些 max-width 之类的

.right > .img{
max-width: 30%;
}

并从 .img img 选择器中删除 height: 100%,检查上面的演示,因为我已经在那里更新了代码

关于html - 如何在不移动其他元素的情况下在 div 中使用图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54631348/

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