我希望每行div中的链接都是合理的,并且在页面上居中,因此它看起来更干净(假设下面以页面为中心):
Chrysanthemum.jpg Desert.jpg Hydrangeas.jpg
Jellyfish.jpg Koala.jpg Lighthouse.jpg
Penguins.jpg test (1).jpg test (2).jpg
test (3).jpg test (4).jpg Tulips.jpg
它不一定非常像,因为图像名称的长度可变,我只是想让它看起来比现在更好:
HTML:
<div id='image-list'>
<div class="row">
<a class="image-link" href="/static/images/Chrysanthemum.jpg"> Chrysanthemum.jpg </a>
<a class="image-link" href="/static/images/Desert.jpg"> Desert.jpg </a>
<a class="image-link" href="/static/images/Hydrangeas.jpg"> Hydrangeas.jpg </a>
</div>
<div class="row">
<a class="image-link" href="/static/images/Jellyfish.jpg"> Jellyfish.jpg </a>
<a class="image-link" href="/static/images/Koala.jpg"> Koala.jpg </a>
<a class="image-link" href="/static/images/Lighthouse.jpg"> Lighthouse.jpg </a>
</div>
<div class="row">
<a class="image-link" href="/static/images/Penguins.jpg"> Penguins.jpg </a>
<a class="image-link" href="/static/images/test%20%281%29.jpg"> test (1).jpg </a>
<a class="image-link" href="/static/images/test%20%282%29.jpg"> test (2).jpg </a>
</div>
<div class="row">
<a class="image-link" href="/static/images/test%20%283%29.jpg"> test (3).jpg </a>
<a class="image-link" href="/static/images/test%20%284%29.jpg"> test (4).jpg </a>
<a class="image-link" href="/static/images/Tulips.jpg"> Tulips.jpg </a>
</div>
</div>
CSS:
#image-list{
display: flex;
justify-content: space-around;
}
我也试过这个css:
#image-list.row{
display: flex;
justify-content: space-around;
}
但这只是向左推动一切,没有任何看似合理的理由:screenshot here
我在忽视或做错了什么?我是否必须将div设置为特定宽度,然后以某种方式证明该宽度?
看起来你正在显示表格数据,为什么不使用<table>
?
如果你想要某种响应式布局,那么你可以使用display: table
和display: table-cell
作为桌面,然后在媒体查询的较小断点处恢复为display: block
。
否则,为每个链接定义一个设置宽度将很好地排列它们,例如.image-link { width: 33.33%; }
此外,要启用弹性项目换行而不是在一行上显示,您需要使用#image-list.row { flex-wrap: wrap; }