汉堡菜单 - 背景颜色延迟(bootstrap4)

时间:2017-07-11 11:45:36

标签: html css twitter-bootstrap-4 hamburger-menu

几个月前我开始编码,而且我几乎完成了一个基本的投资组合网站。

我无法解决的问题是汉堡包菜单背景。我已设法通过CSS为菜单提供背景颜色,但点击它时,菜单不会立即更改为该颜色。这是一个非常短暂的延迟,但它让我感到沮丧!

如果任何代码混乱,请道歉。任何建设性的批评都是受欢迎的!

链接: https://codepen.io/MikeyT24/pen/xrQvxe

HTML

<nav class="navbar fixed-top navbar-inverse navbar-toggleable-sm opaque-navbar">
  <div class="container containernav">
    <button class="navbar-toggler " type="button" data-toggle="collapse" data-target="#myContent" aria-controls="myContent" aria-expanded="false" aria-label="toggle navigation">
    <span class="navbar-toggler-icon"></span>
    </button>
    <h1 class="navbar-brand m-0 ">Michael Treeves</h1>
  <div class="collapse navbar-collapse" id="myContent">
  <div class="navbar-nav ml-auto">
    <a class="nav-item nav-link" href="#about">About</a>
    <a class="nav-item nav-link" href="#portfolio">Portfolio</a>
    <a class="nav-item nav-link" href="#contact">Contact</a>
  </div> <!--navbar-nav-->
  </div> <!--collapse-->
  </div> <!--container-->
</nav>

CSS

/***********************************************************
  OPAQUE NAVBAR SECTION
**********************************************************/
.opaque-navbar {
    background-color: rgba(0,0,0,0);
    height: 50px;
    border-bottom: 0px;
    transition: background-color 0.5s ease 0s;
}

.opaque-navbar.opaque {
    background-color: rgba(100,100,150,0.9);
    height: 50px;
    transition: background-color 0.5s ease 0s;
}

@media (max-width: 992px) {
  .opaque-navbar {
    height: 50px;
    transition: background-color .5s ease 0s;
}

@media (max-width: 768px){
.collapse {
    background-color: rgba(100,100,150,0.9);
}

脚本(不确定是否相关)

  * OPAQUE NAVBAR SCRIPT
  **********************************************************
  */

  // Toggle tranparent navbar when the user scrolls the page

  $(window).scroll(function() {
    if($(this).scrollTop() > 650)  /*height in pixels when the navbar becomes non opaque*/
    {
        $('.opaque-navbar').addClass('opaque');
    } else {
        $('.opaque-navbar').removeClass('opaque');
    }
});

非常感谢!

麦克

1 个答案:

答案 0 :(得分:0)

在打开navbar引导程序时,将.collapse课程更改为.collapsing,然后将.collapse更改为几秒后背景应用的原因。

改为使用.navbar-collapse

.navbar-collapse {
    background-color: rgba(100,100,150,0.9);
}