我希望每一行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设置为特定宽度,然后以某种方式调整为该宽度?
答案 0 :(得分:2)
您似乎正在显示表格数据,那么为什么不使用<table>
?
如果您想要某种响应式布局,则可以将display: table
和display: table-cell
用于桌面,然后在较小的断点处使用媒体查询还原为display: block
。
否则,为每个链接定义一个设置宽度将使它们很好地对齐,例如.image-link { width: 33.33%; }
另外,要使弹性项目能够包装而不是在一行上显示,您需要使用#image-list.row { flex-wrap: wrap; }