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

main标签内两个div无法水平对齐,多种布局方式尝试无效求帮助

解决main内两个div水平并排的问题

你的核心问题是main元素未启用flex布局——你给外层.flexbox添加了display: flex,但main作为两个div的直接父容器,才是需要设置flex属性的关键容器。另外,你给内部.site-playlist设置了宽度,但它的父容器.playlist-box没有布局控制,导致整体排版不符合预期。

修改后的CSS代码

.flexbox {
    display: flex;
}

main {
    width: 100%;
    display: flex; /* 关键:启用flex布局,让子元素水平排列 */
    flex-direction: row; /* 默认值为row,可省略 */
    flex-wrap: nowrap;
    gap: 10px; /* 可选:给两个div之间添加间距 */
}

.playlist-box {
    flex: 1; /* 左侧容器占据1份宽度比例 */
}

.site-playlist {
    height: 200px;
    width: 100%; /* 改为100%,填满父容器宽度 */
    margin-left: 0;
    padding-left: 5px;
    text-align: center;
    padding-top: 5px;
    overflow: scroll;
}

.right-column {
    flex: 3; /* 右侧容器占据3份宽度比例,可按需调整 */
}

修改说明

  • 给main添加display: flex:这是flex布局的基础,只有父容器设置该属性,子元素才能遵循flex规则排列。
  • 给.playlist-box和.right-column添加flex属性:通过比例分配控制两个容器的宽度占比,你也可以替换为固定宽度(比如.playlist-box { width: 25%; },.right-column { flex: 1; })。
  • 将.site-playlist的width改为100%:让它填满父容器.playlist-box的宽度,避免布局错位。

如果想用float方式实现,也可以这样修改:

main {
    width: 100%;
    overflow: hidden; /* 清除浮动带来的高度塌陷问题 */
}

.playlist-box {
    float: left;
    width: 25%;
    margin-right: 10px;
}

.right-column {
    overflow: hidden; /* 让右侧容器自适应剩余宽度 */
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:15:51