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

HTML&CSS文字上下堆叠问题求助:代码为何无法实现垂直排列?

嘿,我来帮你揪出问题所在~

你遇到的并排问题,根源就在.upgrade类的display: inline-block;上!这个CSS属性的作用是让元素在同一行内以块级形式展示,所以两个带这个类的<div>就会挤在一行里,而不是上下堆叠。

想要实现Test在上、Upgrade在下的效果,给你几个简单的解决方案:

方案1:直接移除inline-block(最省事)

div元素默认是display: block;,块级元素会自动占据整行,自然就能上下排列了:

.upgrade {
  /* 删掉 display: inline-block; 这一行 */
}

方案2:保留inline-block但强制占满整行

如果因为其他布局需求必须保留inline-block,可以给.upgrade加上width: 100%;,让每个元素都占满父容器的宽度,这样就只能上下排布了:

.upgrade {
  display: inline-block;
  width: 100%; /* 新增这一行 */
}

方案3:用Flex布局强制垂直排列

给父元素<li>设置Flex布局,指定子元素垂直排列,这样不管子元素是什么display属性,都会乖乖上下排:

li {
  display: flex;
  flex-direction: column; /* 强制子元素垂直排列 */
}
.upgrade {
  display: inline-block; /* 这个属性可以保留,不影响效果 */
}

另外要注意:你当前的HTML里,Upgrade的div在Test的div前面,所以即使解决了并排问题,Upgrade还是会在上、Test在下。如果要Test在上,记得把两个<div>的顺序调换一下哦!调整后的HTML示例:

<li>
  <div class="upgrade">
    <a href="" class="nav-link dropdown-user-link">
      <span class="user-name">Test</span>
    </a>
  </div>
  <div class="upgrade">
    <a href="" class="nav-link dropdown-user-link">
      <span class="user-name">Upgrade</span>
    </a>
  </div>
</li>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:49:13