水平对齐文本行?

问题描述 投票:0回答:1

我希望每行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;
}

当前输出,工作类型,但把我的所有行放在同一“行”:enter image description here

我也试过这个css:

#image-list.row{
    display:  flex;
    justify-content: space-around;
}

但这只是向左推动一切,没有任何看似合理的理由:screenshot here

我在忽视或做错了什么?我是否必须将div设置为特定宽度,然后以某种方式证明该宽度?

html css
1个回答
2
投票

看起来你正在显示表格数据,为什么不使用<table>

如果你想要某种响应式布局,那么你可以使用display: tabledisplay: table-cell作为桌面,然后在媒体查询的较小断点处恢复为display: block

否则,为每个链接定义一个设置宽度将很好地排列它们,例如.image-link { width: 33.33%; }

此外,要启用弹性项目换行而不是在一行上显示,您需要使用#image-list.row { flex-wrap: wrap; }

© www.soinside.com 2019 - 2024. All rights reserved.