You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使<li>元素铺满<ul>整宽?第二行方块无法分散对齐

解决多行方块均匀分布的布局问题

你当前的问题是text-align: justify不会对最后一行元素生效,所以第二行的方块会靠左聚集。下面提供两种可行的解决方案:

方案一:利用伪元素触发完整对齐

给容器添加伪元素,让布局认为内容未结束,从而让text-align: justify对所有行生效:

#menu ul {
    width: 60%;
    border: 1px solid blue;
    padding: 0px;
    margin: 10px auto;
    text-align: justify;
}

/* 添加伪元素补全对齐 */
#menu ul::after {
    content: "";
    display: inline-block;
    width: 100%;
}

#menu li {
    border: 1px solid blue;
    list-style-type: none;
    width: 150px;
    height: 150px;
    margin: 5px;
    display: inline-block;
}

方案二:使用Flex布局(更简洁推荐)

Flex布局天生支持多行均匀分布,代码更易维护:

#menu ul {
    width: 60%;
    border: 1px solid blue;
    padding: 0px;
    margin: 10px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* 用gap控制元素间距,替代margin */
    gap: 10px;
}

#menu li {
    border: 1px solid blue;
    list-style-type: none;
    width: 150px;
    height: 150px;
}

如果需要最后一行元素左对齐(和示例图效果一致),只需把justify-content: space-between替换为justify-content: flex-start即可。

内容的提问来源于stack exchange,提问作者Marius Cojocaru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 10:10:28