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

如何修改Hamburger汉堡菜单的背景颜色?尝试修改未成功

解决汉堡菜单背景/线条颜色修改无效的问题

嘿,我帮你搞定这个汉堡菜单颜色修改的问题~你之前的CSS没生效,主要是因为原hamburgers.css的样式优先级更高,或者你可能搞错了要修改的目标元素,下面分两种情况给你解决方案:

情况1:修改汉堡按钮的整体背景色

如果你想把整个汉堡按钮的背景从透明改成黄色,需要用更具体的CSS选择器来覆盖原样式(原样式里用了.hamburger.hamburger--emphatic这种组合类选择器,权重比单独的.hamburger更高):

.hamburger.hamburger--emphatic {
  background-color: yellow;
}

情况2:修改汉堡线条的颜色(把黑色线条改成黄色)

如果你看到的黑色是汉堡的三条线条,那需要修改构成线条的.hamburger-inner及其伪元素的背景色,因为这些才是控制线条颜色的元素:

.hamburger .hamburger-inner,
.hamburger .hamburger-inner::before,
.hamburger .hamburger-inner::after {
  background-color: yellow;
}

完整可运行代码示例(以修改按钮背景为例)

下面是整合后的完整代码,你可以直接测试:

HTML

<link href="https://cdn.rawgit.com/jonsuh/hamburgers/0aedeec9/dist/hamburgers.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Oswald" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<button class="hamburger hamburger--emphatic is-active" type="button" id="clickme">
  <span class="hamburger-box">
    <span class="hamburger-inner"></span>
  </span>
</button>

CSS

.hamburger.hamburger--emphatic {
  background-color: yellow;
}

JS

//hamburger 
$(".hamburger").toggleClass("is-active"); 
var $hamburger = $(".hamburger"); 
$hamburger.on("click", function(e) { 
  $hamburger.toggleClass("is-active"); 
  // Do something else, like open/close menu 
});

原理说明:CSS样式是按照选择器权重来生效的,当你的选择器权重和原样式一样时,后加载的样式会覆盖前面的;如果原样式的选择器更具体(比如多了一个类),你就需要用同样或更高权重的选择器才能覆盖它。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:51:45