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

如何让div.logo与a.menu同排显示 修复导航过渡及菜单图标切换问题

问题1:div.logo与a.menu移动端同一行显示

问题出在媒体查询中给nav设置了flex-direction: column,导致nav下的三个子元素(logo、menu、ul)全部竖向排列,修改方案无需改动HTML结构,直接改CSS即可:

@media screen and (max-width: 890px) {
  nav {
    /* 删掉原有flex-direction: column,替换为下面两行 */
    flex-direction: row;
    flex-wrap: wrap;
  }
  ul {
    width: 100%;
    margin-top: 20px;
  }
  /* 原有其他媒体查询样式保留 */
}

问题2:下拉过渡效果不生效

CSS的transition无法对display: none/block的切换生效,需要改用max-height控制菜单显隐,调整方案如下:

  1. 删掉原有.responsive-li相关的CSS和JS逻辑,改为控制ul的类名
  2. 新增CSS:
ul {
  /* 原有ul样式保留,新增下面三行 */
  transition: max-height 0.3s ease;
  max-height: unset;
  overflow: visible;
}
@media screen and (max-width: 890px) {
  ul {
    max-height: 0;
    overflow: hidden;
  }
  ul.active {
    /* 数值大于菜单实际最大高度即可,按需调整 */
    max-height: 300px;
  }
  .nav-item {
    /* 删掉原有display: none,替换为下面的 */
    display: flex;
    width: 100%;
  }
  /* 原有其他媒体查询样式保留 */
}

问题3:点击菜单切换X图标

你写的切换代码被注释了,解除注释后补全回退汉堡图标的逻辑即可,修改后的JS代码:

const menu = document.querySelector('.menu')
const navList = document.querySelector('nav ul')

menu.addEventListener('click', () => {
  navList.classList.toggle('active')
  // 图标切换逻辑
  if(navList.classList.contains('active')){
    menu.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="40" height="45" fill="currentColor" class="bi bi-x" viewBox="0 0 16 16">
        <path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"/>
      </svg>`
  } else {
    menu.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="40" height="45" fill="currentColor" class="bi bi-list" viewBox="0 0 16 16">
                <path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
            </svg>`
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:24:02