【问题标题】:Bootstrap 4 navbar lost it's background during codingBootstrap 4 导航栏在编码过程中丢失了背景
【发布时间】:2019-08-01 01:38:09
【问题描述】:

我是 Boostrap 的新手,我试图让导航栏对所有屏幕都更具响应性,并在导航栏失去背景颜色的过程中添加一些效果。 我已经尝试明确采用 navbar-light 类并更改了它的颜色,但它似乎不起作用。

HTML:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>
      Navbar
    </title>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link
      rel="stylesheet"
      href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
      integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
      crossorigin="anonymous"
    />
    <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
    <script src="main.js"></script>
  </head>
  <body>
    <header class="header_area">
      <div class="main_menu">
        <nav class="navbar navbar-expand-lg navbar-light">
          <div class="container box_1620">
            <a class="navbar-brand logo_h" href="index.html"><h2>Brand</h2></a>
            <button
              class="navbar-toggler"
              type="button"
              data-toggle="collapse"
              data-target="#navbarSupportedContent"
              aria-controls="navbarSupportedContent"
              aria-expanded="false"
              aria-label="Toggle navigation"
            >
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
            <div
              class="collapse navbar-collapse offset"
              id="navbarSupportedContent"
            >
              <ul class="nav navbar-nav menu_nav ml-auto">
                <li class="nav-item active">
                  <a class="nav-link" href="index.html">Home</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="about.html">About Us</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="pricing.html">Pricing</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="gallery.html">Gallery</a>
                </li>
                <li class="nav-item">
                  <a class="nav-link" href="contact.html">Contact</a>
                </li>
              </ul>
            </div>
          </div>
        </nav>
      </div>
    </header>
    <script
      src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
      integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
      crossorigin="anonymous"
    ></script>
    <script
      src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
      integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
      crossorigin="anonymous"
    ></script>
    <script
      src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
      integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
      crossorigin="anonymous"
    ></script>
  </body>
</html>

CSS:

.header_area {
  padding: 0px;
  border: 0px;
  border-width: 0px;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 99;
  -webkit-transition: background 0.4s, all 0.3s linear;
  -o-transition: background 0.4s, all 0.3s linear;
  transition: background 0.4s, all 0.3s linear;
}

.header_area .navbar {
  padding: 0px;
  border: 0px;
  border-width: 0px;
}

.header_area .navbar .nav .nav-item {
  margin-right: 45px;
}

.header_area .navbar .nav .nav-item .nav-link {
  font: 500 12px/100px "Roboto", sans-serif;
  text-transform: uppercase;
  color: #222222;
  padding: 0px;
  display: inline-block;
}

.header_area .navbar .nav .nav-item .nav-link:after {
  display: none;
}

.header_area .navbar .nav .nav-item:hover .nav-link,
.header_area .navbar .nav .nav-item.active .nav-link {
  color: #ff2f92;
}

.header_area .navbar .nav .nav-item.submenu {
  position: relative;
}

.header_area .navbar .nav .nav-item.submenu ul {
  border: none;
  padding: 0px;
  border-radius: 0px;
  -webkit-box-shadow: none;
  box-shadow: none;
  margin: 0px;
  background: #fff;
}

@media (min-width: 992px) {
  .header_area .navbar .nav .nav-item.submenu ul {
    position: absolute;
    top: 120%;
    left: 0px;
    min-width: 200px;
    text-align: left;
    opacity: 0;
    -webkit-transition: all 300ms ease-in;
    -o-transition: all 300ms ease-in;
    transition: all 300ms ease-in;
    display: block;
    border: none;
    padding: 0px;
    border-radius: 0px;
  }
}

.header_area .navbar .nav .nav-item.submenu ul:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #eeeeee transparent transparent transparent;
  position: absolute;
  right: 24px;
  top: 45px;
  z-index: 3;
  opacity: 0;
  -webkit-transition: all 400ms linear;
  -o-transition: all 400ms linear;
  transition: all 400ms linear;
}

.header_area .navbar .nav .nav-item.submenu ul .nav-item {
  display: block;
  float: none;
  margin-right: 0px;
  border-bottom: 1px solid #ededed;
  margin-left: 0px;
  -webkit-transition: all 0.4s linear;
  -o-transition: all 0.4s linear;
  transition: all 0.4s linear;
}

.header_area .navbar .nav .nav-item.submenu ul .nav-item .nav-link {
  line-height: 45px;
  color: #222222;
  padding: 0px 30px;
  -webkit-transition: all 150ms linear;
  -o-transition: all 150ms linear;
  transition: all 150ms linear;
  display: block;
  margin-right: 0px;
}

.header_area .navbar .nav .nav-item.submenu ul .nav-item:last-child {
  border-bottom: none;
}

.header_area .navbar .nav .nav-item.submenu ul .nav-item:hover .nav-link {
  background: #ff2f92;
  color: #fff;
}

@media (min-width: 992px) {
  .header_area .navbar .nav .nav-item.submenu:hover ul {
    visibility: visible;
    opacity: 1;
    top: 100%;
  }
}

.header_area .navbar .nav .nav-item.submenu:hover ul .nav-item {
  margin-top: 0px;
}

.header_area .navbar .nav .nav-item:last-child {
  margin-right: 0px;
}

.header_area + section,
.header_area + row,
.header_area + div {
  margin-top: 100px;
}

.header_area.navbar_fixed .main_menu {
  position: fixed;
  width: 100%;
  top: -70px;
  left: 0;
  right: 0;
  background: #fff;
  -webkit-transform: translateY(70px);
  -ms-transform: translateY(70px);
  transform: translateY(70px);
  -webkit-transition: background 500ms ease, -webkit-transform 500ms ease;
  transition: background 500ms ease, -webkit-transform 500ms ease;
  -o-transition: transform 500ms ease, background 500ms ease;
  transition: transform 500ms ease, background 500ms ease;
  transition: transform 500ms ease, background 500ms ease,
    -webkit-transform 500ms ease;
  -webkit-transition: transform 500ms ease, background 500ms ease;
  -webkit-box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.1);
}

我想知道为什么会发生这种情况,我出错的地方以及我的问题的解决方案。

【问题讨论】:

    标签: html css bootstrap-4 navbar


    【解决方案1】:

    你的错误在这里:

    <nav class="navbar navbar-expand-lg navbar-light">
    

    在引导程序 4 中,我们使用 bg-light 而不是 navbar-light,如下所示...

    如果您想要其他颜色,请查看此处的文档:https://getbootstrap.com/docs/4.0/components/navbar/#color-schemes

    .header_area {
      padding: 0px;
      border: 0px;
      border-width: 0px;
      position: absolute;
      width: 100%;
      top: 0;
      left: 0;
      z-index: 99;
      -webkit-transition: background 0.4s, all 0.3s linear;
      -o-transition: background 0.4s, all 0.3s linear;
      transition: background 0.4s, all 0.3s linear;
    }
    
    .header_area .navbar {
      padding: 0px;
      border: 0px;
      border-width: 0px;
    }
    
    .header_area .navbar .nav .nav-item {
      margin-right: 45px;
    }
    
    .header_area .navbar .nav .nav-item .nav-link {
      text-transform: uppercase;
      color: #222222;
      padding: 0px;
      display: inline-block;
    }
    
    .header_area .navbar .nav .nav-item .nav-link:after {
      display: none;
    }
    
    .header_area .navbar .nav .nav-item:hover .nav-link,
    .header_area .navbar .nav .nav-item.active .nav-link {
      color: #ff2f92;
    }
    
    .header_area .navbar .nav .nav-item.submenu {
      position: relative;
    }
    
    .header_area .navbar .nav .nav-item.submenu ul {
      border: none;
      padding: 0px;
      border-radius: 0px;
      -webkit-box-shadow: none;
      box-shadow: none;
      margin: 0px;
      background: #fff;
    }
    
    @media (min-width: 992px) {
      .header_area .navbar .nav .nav-item.submenu ul {
        position: absolute;
        top: 120%;
        left: 0px;
        min-width: 200px;
        text-align: left;
        opacity: 0;
        -webkit-transition: all 300ms ease-in;
        -o-transition: all 300ms ease-in;
        transition: all 300ms ease-in;
        display: block;
        border: none;
        padding: 0px;
        border-radius: 0px;
      }
    }
    
    .header_area .navbar .nav .nav-item.submenu ul:before {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-color: #eeeeee transparent transparent transparent;
      position: absolute;
      right: 24px;
      top: 45px;
      z-index: 3;
      opacity: 0;
      -webkit-transition: all 400ms linear;
      -o-transition: all 400ms linear;
      transition: all 400ms linear;
    }
    
    .header_area .navbar .nav .nav-item.submenu ul .nav-item {
      display: block;
      float: none;
      margin-right: 0px;
      border-bottom: 1px solid #ededed;
      margin-left: 0px;
      -webkit-transition: all 0.4s linear;
      -o-transition: all 0.4s linear;
      transition: all 0.4s linear;
    }
    
    .header_area .navbar .nav .nav-item.submenu ul .nav-item .nav-link {
      line-height: 45px;
      color: #222222;
      padding: 0px 30px;
      -webkit-transition: all 150ms linear;
      -o-transition: all 150ms linear;
      transition: all 150ms linear;
      display: block;
      margin-right: 0px;
    }
    
    .header_area .navbar .nav .nav-item.submenu ul .nav-item:last-child {
      border-bottom: none;
    }
    
    .header_area .navbar .nav .nav-item.submenu ul .nav-item:hover .nav-link {
      background: #ff2f92;
      color: #fff;
    }
    
    @media (min-width: 992px) {
      .header_area .navbar .nav .nav-item.submenu:hover ul {
        visibility: visible;
        opacity: 1;
        top: 100%;
      }
    }
    
    .header_area .navbar .nav .nav-item.submenu:hover ul .nav-item {
      margin-top: 0px;
    }
    
    .header_area .navbar .nav .nav-item:last-child {
      margin-right: 0px;
    }
    
    .header_area + section,
    .header_area + row,
    .header_area + div {
      margin-top: 100px;
    }
    
    .header_area.navbar_fixed .main_menu {
      position: fixed;
      width: 100%;
      top: -70px;
      left: 0;
      right: 0;
      background: #fff;
      -webkit-transform: translateY(70px);
      -ms-transform: translateY(70px);
      transform: translateY(70px);
      -webkit-transition: background 500ms ease, -webkit-transform 500ms ease;
      transition: background 500ms ease, -webkit-transform 500ms ease;
      -o-transition: transform 500ms ease, background 500ms ease;
      transition: transform 500ms ease, background 500ms ease;
      transition: transform 500ms ease, background 500ms ease,
        -webkit-transform 500ms ease;
      -webkit-transition: transform 500ms ease, background 500ms ease;
      -webkit-box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.1);
      box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.1);
    }
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <title>
          Navbar
        </title>
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <link
          rel="stylesheet"
          href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
          integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
          crossorigin="anonymous"
        />
        <link rel="stylesheet" type="text/css" media="screen" href="main.css" />
        <script src="main.js"></script>
      </head>
      <body>
        <header class="header_area">
          <div class="main_menu">
            <nav class="navbar navbar-expand-lg bg-light">
              <div class="container box_1620">
                <a class="navbar-brand logo_h" href="index.html"><h2>Brand</h2></a>
                <button
                  class="navbar-toggler"
                  type="button"
                  data-toggle="collapse"
                  data-target="#navbarSupportedContent"
                  aria-controls="navbarSupportedContent"
                  aria-expanded="false"
                  aria-label="Toggle navigation"
                >
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                </button>
                <div
                  class="collapse navbar-collapse offset"
                  id="navbarSupportedContent"
                >
                  <ul class="nav navbar-nav menu_nav ml-auto">
                    <li class="nav-item active">
                      <a class="nav-link" href="index.html">Home</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="about.html">About Us</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="pricing.html">Pricing</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="gallery.html">Gallery</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="contact.html">Contact</a>
                    </li>
                  </ul>
                </div>
              </div>
            </nav>
          </div>
        </header>
        <script
          src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
          integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
          crossorigin="anonymous"
        ></script>
        <script
          src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
          integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q"
          crossorigin="anonymous"
        ></script>
        <script
          src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
          integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
          crossorigin="anonymous"
        ></script>
      </body>
    </html>

    关于巨大导航栏的问题在这里:

    .header_area .navbar .nav .nav-item .nav-link {
      font: 500 12px/100px "Roboto", sans-serif;
      text-transform: uppercase;
      color: #222222;
      padding: 0px;
      display: inline-block;
    }
    

    那行是做什么的:

    font: 500 12px/100px "Roboto", sans-serif;
    

    你必须放一个较小的字体,或者直接删除它就行了!

    【讨论】:

    • 该死,我浪费了好几个小时试图弄清楚这一点!另外,米格尔你能告诉我为什么我的导航栏有很大的高度吗?喜欢它的脂肪,我曾经这样做过什么财产?
    • 下一次,你真的应该先看看文档,你会节省几个小时:p 如果我能帮助你,标记为正确答案,以便我们可以帮助其他人人。
    • 我去看看,请稍等。
    • 是的,每当我添加一个按钮时,由于这个厚度问题,按钮的边框会延伸到导航栏的两侧
    • 我发现了你的问题。我会更新上面的答案。
    猜你喜欢
    • 2018-10-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    相关资源
    最近更新 更多