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

调整div尺寸后下拉侧边导航菜单文本换行失效问题

问题根因

导航项全部挤在同一行是CSS规则配置错误导致的,具体问题点:

  • 你给.sidenav设置了display: flex但没有指定主轴方向,flex布局默认主轴为水平方向,所有直接子元素(下拉按钮、下拉菜单容器)会沿水平方向依次排列,直接导致所有内容挤在同一行。
  • 存在拼写错误:position: ansolute是无效属性,正确写法为position: absolute,该错误会导致定位规则完全不生效。
  • 冗余无效属性:float: left在flex容器上不会生效,justify-content: space-between是水平布局下的间距规则,在侧边栏纵向排列场景下不需要保留。
修复代码

直接替换原有.sidenav的CSS规则即可:

.sidenav {
    background-color: rgba(0,109,165, .8);
    font-size: 14px;
    border: 3px dashed rgba(0,208,129);
    border-radius: 10px;
    color: #5afba2;   
    font-family: monospace;
    overflow-y: auto;
    overflow-x: hidden;
            
    display: flex;
    flex-direction: column;
    height: 700px;
    width: 200px;
            
    box-sizing: border-box;
    margin-left: 300px;
    padding: 15px 15px 25px;
    position: absolute;
}

修改后所有导航按钮、展开的下拉链接都会沿垂直方向逐行排列,和你之前全宽侧边栏的显示效果一致。

可选优化
  • 如果需要侧边栏固定在视口位置不随页面滚动,可将position: absolute改为position: fixed,再通过top、left属性调整偏移位置即可。
  • 侧边栏和主体内容并排更推荐用父容器flex布局实现:给包裹侧边栏、主体内容的外层div设置display: flex,搭配gap控制两者间距,不需要给侧边栏写死margin-left,不同屏幕尺寸下适配性更好。
  • 你已经给侧边栏设置了overflow-y: auto,下拉菜单展开后如果内容总高度超出700px,会自动出现纵向滚动条,不会出现内容溢出截断的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 17:48:13