【发布时间】:2021-11-09 07:35:37
【问题描述】:
我在 flexbox 内创建了一个图像轮播,并为每个图像设置了 200 像素的宽度。我希望图像在缩小窗口时以相同的速度调整大小,所以我给它们每个 flex-shrink 值 1。
但是,正如您从 gif 中看到的那样,当我缩小窗口时,只有第二张图像会调整大小(其他图像保持相同的宽度)。我检查了原始文件的大小,发现第二张图片的宽度也最小(所以我认为这可能是导致问题的原因?)
但是,我不确定如何解决此问题。任何帮助将不胜感激。
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>your page title goes here</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="index.css" />
</head>
<body>
<div class="container">
<h1>My Photo Gallery</h1>
<div class="gallery">
<figure>
<img src="img/dog1.jpeg" alt="first dog">
<figcaption>Example Photo</figcaption>
</figure>
<div class="slider">
<img src="img/dog2.jpeg" alt="second dog"/>
<img src="img/dog3.jpeg" alt="third dog"/>
<img src="img/dog4.jpeg" alt="fourth dog"/>
<img src="img/dog5.jpeg" alt="fifth dog"/>
</div>
</div>
</div>
</body>
</html>
CSS
* {
margin: 0;
padding: 0;
}
body {
background-color: rgb(46, 46, 46)
}
h1 {
font-family: helvetica;
color: white;
}
.container {
padding: 30px 20px;
text-align: center;
max-width: 1000px;
min-width: 500px;
background-color: rgb(66, 66, 66);
margin: 0 auto;
}
figure {
text-align: left;
}
figcaption {
color: white;
}
img {
width: 100%;
}
.gallery {
display: flex;
flex-flow: column;
}
.slider{
margin-top: 32px;
display: flex;
justify-content: space-between;
}
.slider img {
display: block;
width: 200px;
max-height: 200px;
object-fit: cover;
flex-shrink: 1;
}
【问题讨论】:
-
你为什么不使用“height: auto;”滑块图像上的属性?
标签: html css flexbox responsive-design