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

Flexbox是否支持嵌套?嵌套后内部元素不显示问题求助

问题原因

  • HTML标签未闭合:给出的HTML片段里所有div都只有起始标签,没有闭合的</div>,浏览器解析结构出错会导致内部元素不渲染。
  • 父容器无明确尺寸:.left容器没有设置宽高,内部子元素的百分比宽高没有计算参照,无法正常展示。
  • CSS注释语法错误:CSS里用了HTML的注释格式<!-- -->,不符合CSS规范,会导致后续的宽高样式失效,.pos-inside和.icon-1的样式根本没有被浏览器识别。
  • 元素无可见内容/背景:.icon-1仅设置了文字颜色color,既没有内容也没有背景色,空元素自然看不到。

修正方案

可以参考下面的修改后的代码调整:

修正后HTML

<div class="stack-1">
  <div class="flexbox">
    <div class="left">
      <div class="flex-inside">
        <div class="pos-inside">
          <div class="icon-1"></div>
        </div>
      </div>
    </div>
    <div class="right">
      <div class="flex-right">
        <!-- 粉色div内部的内容可自行补全 -->
      </div>
    </div>
  </div>
</div>

修正后CSS

.stack-1{
    display:flex;
    background:green;
    /* 给最外层父容器加高度,方便子元素百分比计算 */
    height: 200px;
}
.flexbox{
    display: flex;
    background: purple;
    margin-left: 20px;
    margin-right: 20px;
    width: 100%;
    height: 100px;
}
.left,.right{
    /* 左右两个容器各占一半宽度 */
    width: 50%;
}
.left{
    background-color: brown;
}
.right{
  justify-content: flex-end;
  display: flex;
  background-color: aqua;
}
.flex-inside{
  justify-content: center;
  display: flex;
  align-items: center;
  background: navy;
  width: 60%;
  height: 30px;
}
.flex-right{
  background: hotpink;
  width: 60%;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pos-inside{
  background: orange;
  width: 40%;
  height: 20px;
  display: flex;
  align-items: center;
}
.icon-1{
  background: purple;
  width: 10%;
  height: 50%;
}

调整后嵌套的flex元素即可正常渲染,嵌套flex的逻辑和普通flex确实一致,只要父容器有明确的尺寸、结构正确、样式语法无问题就能正常生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:06:03