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

如何居中两个各有独立宽度的子div?含内容区与侧边栏场景

解决方案

你需要调整父元素和子元素的层级样式,核心是让父元素占满窗口宽度,同时通过合适的容器设置实现两个子div的总宽度受限于max-width并居中。

方法一:添加中间容器(更易维护)

HTML结构

<div class="learnings-main-content">
  <div class="content-wrapper">
    <div id="learnings-main-content-area1">左侧内容区域</div>
    <div id="learnings-main-content-area2">右侧内容区域</div>
  </div>
</div>

CSS代码

/* 父元素占满整个窗口宽度 */
.learnings-main-content {
  width: 100%;
  background-color: #ef972d;
  padding: 20px 0; /* 上下留内边距,左右不设置避免挤压居中区域 */
}

/* 中间容器:限制总宽度+水平居中 */
.content-wrapper {
  max-width: 1200px; /* 替换成你需要的最大总宽度 */
  width: 100%;
  margin: 0 auto; /* 实现水平居中 */
  display: flex; /* 让两个子div并排 */
  gap: 20px; /* 两个子div之间的间距,可选 */
  padding: 0 20px; /* 左右留白,避免内容贴边,可选 */
}

/* 两个子div平分宽度(可按需调整) */
#learnings-main-content-area1 {
  flex: 1;
  /* 可添加自定义样式,比如背景、内边距等 */
}

#learnings-main-content-area2 {
  flex: 1;
  /* 可添加自定义样式 */
}

方法二:不添加中间容器(简化结构)

HTML结构

<div class="learnings-main-content">
  <div id="learnings-main-content-area1">左侧内容区域</div>
  <div id="learnings-main-content-area2">右侧内容区域</div>
</div>

CSS代码

/* 父元素占满窗口宽度,并用flex实现子元素居中 */
.learnings-main-content {
  width: 100%;
  background-color: #ef972d;
  padding: 20px;
  display: flex;
  justify-content: center;
}

/* 给两个子div的父容器设置总宽度限制 */
.learnings-main-content > div {
  max-width: 1200px; /* 替换成你需要的最大总宽度 */
  width: 100%;
  display: flex;
  gap: 20px; /* 子div间距,可选 */
}

#learnings-main-content-area1 {
  flex: 1;
}

#learnings-main-content-area2 {
  flex: 1;
}

关键说明

  • 父元素设置width: 100%确保占满整个窗口宽度,背景色应用在父元素上才能覆盖全宽。
  • max-width作用在包裹两个子div的容器上,控制它们的总宽度上限;margin: 0 auto(方法一)或父元素的justify-content: center(方法二)实现居中效果。
  • 用flex:1让两个子div平分可用宽度,你也可以根据需求设置固定宽度,比如flex-basis: 60%和flex-basis: 40%。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 14:54:10