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

水平与垂直下拉菜单同页兼容问题求助

解决水平与垂直下拉菜单的样式冲突问题

嘿,你遇到的问题其实很常见——两个菜单的CSS都用了全局的ul、li选择器,导致它们的样式互相覆盖,自然没法一起正常工作啦。咱们只需要给每个菜单加上专属的标识(类名),把各自的样式隔离开,就能让它们和平共处了!


一、修改垂直侧边菜单代码

给垂直菜单的容器加上专属类名.vertical-sidebar-menu,然后把CSS里的所有选择器都加上这个类前缀,确保样式只作用于它:

修改后的CSS

/* 垂直侧边菜单专属样式 */
.vertical-sidebar-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  background: #1bc2a2;
  float: right;
}
.vertical-sidebar-menu ul li {
  display: block;
  position: relative;
  margin-left: -200px;
  background: #1bc2a2;
}
/* 隐藏子菜单 */
.vertical-sidebar-menu li ul {
  margin-top: -50px;
  display:none;
}
.vertical-sidebar-menu ul li a {
  display: block;
  padding: 1em;
  text-decoration: none;
  white-space: nowrap;
  color: #fff;
}
.vertical-sidebar-menu ul li a:hover {
  background: #2c3e50;
}
/* hover时显示下拉菜单 */
.vertical-sidebar-menu li:hover > ul {
  display: block;
  position: absolute;
}
.vertical-sidebar-menu li:hover li {
  float: none;
}
.vertical-sidebar-menu li:hover a {
  background: #1bc2a2;
}
.vertical-sidebar-menu li:hover li a:hover {
  background: #2c3e50;
}
.vertical-sidebar-menu .main.navigation li ul li {
  border-top: 0;
}
/* 二级下拉菜单位置 */
.vertical-sidebar-menu ul ul ul {
  margin-left: -120px;
  top: 0;
}

修改后的HTML

<div id="menu" class="vertical-sidebar-menu">
  <ul>
    <li><a>Közérdekű adatok</a></li>
    <li><a>Járóbeteg szakellátó</a></li>
    <li><a>Álláslehetőségek</a></li>
    <li><a>Közszolgálati intézmények</a></li>
    <li><a>Civil szervezetek</a></li>
    <li><a>Egyházak</a>
      <ul>
        <li><a>Református egyház</a></li>
        <li><a>Katolikus egyház</a></li>
      </ul>
    </li>
    <li><a>Idegenforgalom</a>
      <ul>
        <li><a>Térkép</a></li>
        <li><a>Vadászat</a></li>
        <li><a>Horgászat</a></li>
        <li><a>Túrázás</a></li>
        <li><a>Szálláslehetőségek</a></li>
        <li><a>Kultúrális rendezvények</a></li>
      </ul>
    </li>
    <li><a>Galéria</a></li>
    <li><a>Kiadványok</a></li>
    <li><a>Cigándi hírmondó</a></li>
    <li><a>Árapasztó tározó</a></li>
    <li><a>Gazdahírek</a></li>
    <li><a>Archívum</a></li>
    <li><a>Eladó ingatlanok</a></li>
    <li><a>Hasznos linkek</a></li>
    <li><a>Kistérség</a></li>
    <li><a>Magyar Államkincstár</a></li>
    <li><a>TÁMOP-3.2.3/A-11/1-2012-0112</a></li>
    <li><a>Cigándi Járási Hivatal</a></li>
    <li><a>ITS projekt</a></li>
    <li><a>Település üzemeltetés</a></li>
    <li><a>Művészeti csoportok</a></li>
    <li><a>ÁNYK nyomtatványok</a></li>
  </ul>
</div>

二、修改水平菜单代码

同样,给水平菜单的容器加上专属类名.horizontal-top-menu,并更新CSS选择器:

修改后的CSS

/* 水平顶部菜单专属样式 */
.horizontal-top-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  background: #1bc2a2;
}
.horizontal-top-menu ul li {
  display: block;
  position: relative;
  float: left;
  background: #1bc2a2;
}
/* 隐藏子菜单 */
.horizontal-top-menu li ul {
  display:none;
}
.horizontal-top-menu ul li a {
  display: block;
  padding: 1em;
  text-decoration: none;
  white-space: nowrap;
  color: #fff;
}
.horizontal-top-menu ul li a:hover {
  background: #2c3e50;
}
/* hover时显示下拉菜单 */
.horizontal-top-menu li:hover > ul {
  display: block;
  position: absolute;
}
.horizontal-top-menu li:hover li {
  float: none;
}
.horizontal-top-menu li:hover a {
  background: #1bc2a2;
}
.horizontal-top-menu li:hover li a:hover {
  background: #2c3e50;
}
.horizontal-top-menu .main.navigation li ul li {
  border-top: 0;
}
/* 二级下拉菜单位置 */
.horizontal-top-menu ul ul ul {
  left: 100%;
  top: 0;
}
.horizontal-top-menu {
  width: 100%;
}
.horizontal-top-menu ul:before,
.horizontal-top-menu ul:after {
  content: '';
  display:table;
  clear: both;
}

修改后的HTML

<div id="main-navigation" class="horizontal-top-menu">
  <ul>
    <li><a>Városunk</a>
      <ul>
        <li><a>Köszöntő</a></li>
        <li><a>Földrajz</a></li>
        <li><a>Története</a></li>
        <!-- 补充完整剩余菜单项即可 -->
      </ul>
    </li>
  </ul>
</div>

这样修改之后,两个菜单的样式就完全独立了——垂直菜单的样式只会作用于带.vertical-sidebar-menu类的容器,水平菜单的样式只会作用于.horizontal-top-menu容器,它们不会再互相干扰,就能在同一页面正常展示和工作啦!

内容的提问来源于stack exchange,提问作者Zoltán Fodor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:02:25