透明Bootstrap导航栏

时间:2018-03-17 13:06:02

标签: css html5 bootstrap-4

我正在网站上工作,我希望导航(仅限主页)透明,图像覆盖整个屏幕。这就是我到目前为止所做的:

enter image description here

导航栏以这种方式设置样式,因为它就是在其他页面上的样式。

这是我的HTML:

<div class="container-fluid">
      <nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top navbar-trans" id="mainNav">

          <a class="navbar-brand js-scroll-trigger" href="#page-top">
            <img class="logo" src="app/assets/images/bunklogo.png" alt="bunk">
            Bunk.
          </a>
          <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
              Menu
              <i class="fa fa-bars"></i>
          </button>
          <div class="collapse navbar-collapse" id="navbarResponsive">
              <ul class="navbar-nav ml-auto">
                  <li class="nav-item">
                      <a class="nav-link js-scroll-trigger" href="#tenant">TENANT</a>
                  </li>
                  <li class="nav-item">
                      <a class="nav-link js-scroll-trigger" href="landlord.html">LANDLORD</a>
                  </li>
                  <li class="nav-item">
                      <a class="nav-link js-scroll-trigger" href="#bunkfaqs">BUNK FAQs</a>
                  </li>
                  <li class="nav-item">
                      <a class="nav-link js-scroll-trigger" href="#blog">BLOG</a>
                  </li>
                  <li class="nav-item">
                      <a class="nav-link js-scroll-trigger" href="#team">TEAM</a>
                  </li>
                  <li class="nav-item">
                      <a class="nav-link js-scroll-trigger" href="#login">LOG IN</a>
                  </li>
                  <li class="nav-iten">
                    <button class="btn signup"> SIGN UP</button>
                  </li>
              </ul>
          </div>
      </nav>
  </div>

和我的css:

#mainNav {
  background-image: linear-gradient(90deg, #439EE0 0%, #26ADE6 100%);
  /*margin-top: -0.5%;*/
  padding-top: 1rem;
  padding-bottom: 3rem;
  margin-bottom: 0;
}

.navbar-toggler.navbar-toggler-right {
  color:white;
  border: 1px solid white;
  font-size: 1.2rem;
  padding: 1rem;
}

.navbar-light .navbar-nav .nav-link {
  font-size: 1.2rem;
  color: #ffffff;
  letter-spacing: 0.8px;
  text-align: center;
  padding-right: 5rem;
}

.navbar-brand.js-scroll-trigger {
  color: #ffffff;
  font-size: 2rem;
}

有什么建议吗?

4 个答案:

答案 0 :(得分:3)

这里不需要任何自定义css hacks。

要使您的Bootstrap导航栏透明,您只需删除课程bg-light 即可。

就是这样!

bg中的bg-light代表“背景”。因此,如果您忽略课程背景颜色,您将自动拥有透明导航栏。

答案 1 :(得分:0)

好的,首先你需要将主页与其他页面分开。要执行此操作,只需在您的身体部分插入ID,例如 #home

因此,在这种情况下,您将添加以下内容:

body#home #mainNav {
  background:transparent;
  background-image:none;
  position:absolute;
  width:100%;
  left:0px;
  right:0px;
  top:0px;
}

不要忘记你的Slider(或者你在#mainNav之后没有),可能需要一些padding-top等于#mainNav高度,例如(如果你的#mainNav高度为50px) ):

.slider {
  padding-top:50px;
}

答案 2 :(得分:0)

您只能在index.html上为导航栏添加额外的课程。 (或您的主页html文件名。)

<nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top navbar-trans navbar--home" id="mainNav">

然后你可以选择这个类:

#mainNav.navbar--home{
  background:transparent;
}

答案 3 :(得分:0)

使用主页正文类,例如:&#34; .home / .home-index / .index-page&#34;作为&#34; .nav.fixed-top&#34;的父母。容器

CSS ::

.home .nav.fixed-top{
   background:rgba(0, 0, 0, 0) none repeat scroll 0 0;
}
相关问题