这应该是直截了当的,所以如果我错过了一个简单的解决方案,很抱歉。我想使用space-between,这样四个DIVs就可以与桌面上的一行相匹配,坐在DIVs的边缘,左边最远,右边最远,像这样触摸包装的边缘。

我目前正在使用space-between,但它会导致任何未完成的行出现问题。理想情况下,不完整的行将居中或向左,所以我尝试了space-evenly,如果没有其他解决方案,但DIVs没有到达容器的边缘,这将是很好的。

所以我试着使用start,这得到了一个我也会满意的结果,因为每次添加一个新的DIV时,它们都在左边,并添加到左边。这有一个问题,留下太多的空空间在左边。

我希望能够使用space-between将它们保持在边缘,同时也能够使用start使它们在没有右侧空格的情况下保持左对齐,或者使用start保持对齐,这是因为space-evenly的工作方式意味着space-between,但是能够设置到左边是最好的选择,并且应该在布局上与第一和第三个图像的结果类似,而不需要在右边的所有空间。
代码在下面,任何帮助都很感激。提前谢谢。
.wrap {
display: block;
padding-top: 5px;
padding-bottom: 5px;
}
.section {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-top: 0;
margin-bottom: 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
gap: 20px;
}
.container {
width: 22%;
min-height: 150px;
display: flex;
margin: 5px;
background-color: aqua;
border-radius: 0;
}
@media only screen and (max-width: 500px) {
.container {
width: 100%
}
}
.container-inner {
display: inline-block;
width: 100%;
padding: 10px;
text-align: left;
overflow: hidden;
}
.container-image-wrap {
display: block;
width: 100%;
margin: auto;
padding-bottom: 10px;
}
.container-title-wrap {
display: block;
width: 100%;
margin: auto;
padding-bottom: 10px;
}
.container-image {
display: block;
width: 100%;
}<div class="wrap">
<div class="section">
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
</div>
</div>
我试过使用一个::after,它可以将引脚放在左边,但不会将最后一行与上面的行对齐。
.section::after {
content: "";
flex: auto;
}我尝试了一种讨厌的方法,添加了一个alignment-container div,它确实得到了所需的结果,但是每次网格内容发生变化时都需要更新,而且它觉得这不是实现这一点的最佳方法,特别是当考虑到窗口大小和移动性时,因为会有空空间。
.wrap {
display: block;
padding-top: 5px;
padding-bottom: 5px;
}
.section {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-top: 0;
margin-bottom: 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
gap: 20px;
}
.container {
width: 22%;
min-height: 150px;
display: flex;
margin: 5px;
background-color: aqua;
border-radius: 0;
}
@media only screen and (max-width: 500px) {
.container {
width: 100%
}
}
.container-inner {
display: inline-block;
width: 100%;
padding: 10px;
text-align: left;
overflow: hidden;
}
.container-image-wrap {
display: block;
width: 100%;
margin: auto;
padding-bottom: 10px;
}
.container-title-wrap {
display: block;
width: 100%;
margin: auto;
padding-bottom: 10px;
}
.container-image {
display: block;
width: 100%;
}
.alignment-container {
display: none;
width: 22%;
min-height: 150px;
display: flex;
margin: 5px;
border-radius: 0;
}<div class="wrap">
<div class="section">
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="alignment-container"></div>
<div class="alignment-container"></div>
</div>
</div>
EDIT: The question linked as the same as this doesn't actually answer the question
发布于 2021-12-15 14:59:21
切换到使用网格,而没有其他许多更改。删除边距,以避免使用box-sizing,并使用媒体查询将内部宽度设置为100%,以更改列宽度。
.wrap {
display: block;
padding-top: 5px;
padding-bottom: 5px;
}
.section {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-top: 0;
margin-bottom: 0;
display: grid;
gap: 40px;
grid-template-columns: repeat(auto-fill, 22%);
justify-content: space-between;
}
@media only screen and (max-width: 500px) {
.section {
width: 100%;
margin-left: auto;
margin-right: auto;
margin-top: 0;
margin-bottom: 0;
display: grid;
gap: 20px;
grid-template-columns: repeat(auto-fill, 100%);
justify-content: space-between;
}
}
.container {
width: 100%;
min-height: 150px;
display: flex;
margin: 0;
background-color: aqua;
border-radius: 0;
}
.container-inner {
display: inline-block;
width: 100%;
padding: 10px;
text-align: left;
overflow: hidden;
}
.container-image-wrap {
display: block;
width: 100%;
margin: auto;
padding-bottom: 10px;
}
.container-image {
display: block;
width: 100%;
}
.container-title-wrap {
display: block;
width: 100%;
margin: auto;
padding-bottom: 10px;
}<div class="wrap">
<div class="section">
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
<div class="container" onclick="location.href='/image-gallery-path'">
<div class="container-inner">
<div class="container-image-wrap">
<img class="container-image" src="https://via.placeholder.com/1920x1080" alt="A placeholder image">
</div>
<div class="container-title-wrap">
<p>Caption</p>
</div>
</div>
</div>
</div>
</div>
https://stackoverflow.com/questions/70364805
复制相似问题