Bootstrap:当导航栏折叠品牌重叠其他对象时

彼得L1995

当导航栏折叠到汉堡菜单中时,品牌与导航链接重叠 - 我如何将它们分开以避免这种情况发生?理想情况下,我希望品牌出现在顶部。

导航栏结构正确并且在未折叠时按预期工作,所有项目都正确定位,只有在菜单折叠时才会出现问题。

JSFiddle:https ://jsfiddle.net/PeterLawson/Lkv8gj9a/2/

HTML:

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <!---Style Sheets-->
  <link rel="stylesheet" href="styles.css">
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
    integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
  <link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
  <!---Website Title-->
  <title>Notepad</title>
</head>

<body>
  <!---Main Content-->
  <!---Navigation Bar-->
  <nav class="navbar nav-fill navbar-expand-lg navbar-light bg-light ">
    <div class="container">
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarMenu">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarMenu">
        <!---Search Bar-->
        <form class="form-inline my-2 my-lg-0">
          <input class="form-control mr-sm-2" type="search" placeholder="Search">
          <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
        </form>
        <!---Notepad Branding-->
        <ul class="nav navbar-nav navbar-center">
          <li><a class="navbar-brand" href="#"><img src="images\notepad-logo2.png" alt="Notepad Logo"
                style="width:150px;"></a></li>
        </ul>
        <!---Navigation Links-->
        <ul class="navbar-nav ml-auto">
          <li class="nav-item">
            <a class="nav-link" href="#">Discover Notepads</a>
          </li>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarProductDropdown" role="button" data-toggle="dropdown"
              aria-haspopup="true" aria-expanded="false">
              Catalogue
            </a>
            <div class="dropdown-menu" aria-labelledby="navbarProductDropdown">
              <a class="dropdown-item" href="#">Furniture</a>
              <a class="dropdown-item" href="#">Lighting</a>
              <a class="dropdown-item" href="#">Decor</a>
            </div>
          </li>
          <!---User Profile-->
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarAvatarDropdown" role="button" data-toggle="dropdown"
              aria-haspopup="true" aria-expanded="false">
              <img src="images\man.png" class="avatar">
            </a>
            <div class="dropdown-menu" aria-labelledby="navbarAvatarDropdown">
              <a class="dropdown-item" href="#">Profile</a>
              <a class="dropdown-item" href="#">My Notepads</a>
              <a class="dropdown-item" href="#">Create New Notepad</a>
              <div class="dropdown-divider"></div>
              <a class="dropdown-item" href="#">Sign Out</a>
            </div>
          </li>
        </ul>
      </div>
    </div>
  </nav>

  <!---Bootstrap JavaScript and jQuery-->
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
    integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
    crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
    integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
    crossorigin="anonymous"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
    integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
    crossorigin="anonymous"></script>
  <!---Firebase SDK-->
  <script src="https://www.gstatic.com/firebasejs/6.3.5/firebase-app.js"></script>
</body>

</html>

CSS:

.navbar-nav.navbar-center {
    position: absolute;
    left: 50%;
    transform: translatex(-50%);
}

.navbar { 
    margin-left: 10px;
    margin-right: 10px;
}

.main-logo{
    width: 150px;
    height: 50px; 
}

.navbar-nav li a {
    line-height: 50px;
   }

.dropdown-menu > li > a { 
    height: 50px; 
}

.avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    box-shadow:
      inset 0 0 0 2px rgba(255,255,255,0.6), 
      0 1px 1px rgba(0,0,0,0.1);
    background-color: transparent !important;
    z-index: 999;
  }

  .avatar img {
    border-radius: inherit;
    width: inherit;
    height: inherit;
    display: block;
    position: relative;
    z-index: 998;
  }
阿克贝尔·伊克巴尔

最简单的解决方案是将品牌图片从导航中移除 - 这将帮助您实现您想要的;你的styles.css文件没有被完全引用,所以我插入了一个不同的标志 - 根据你的标志,你必须调整填充等。

下面的工作片段

.navbar-nav.navbar-center {
  position: absolute;
  left: 50%;
  transform: translatex(-50%);
}

.navbar {
  margin-left: 10px;
  margin-right: 10px;
}

.main-logo {
  width: 150px;
  height: 50px;
}

.navbar-nav li a {
  line-height: 50px;
}

.dropdown-menu>li>a {
  height: 50px;
}

.avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.6), 0 1px 1px rgba(0, 0, 0, 0.1);
  background-color: transparent !important;
  z-index: 999;
}

.avatar img {
  border-radius: inherit;
  width: inherit;
  height: inherit;
  display: block;
  position: relative;
  z-index: 998;
}

.navBarBrand {
  list-style: none;
  position: absolute;
  left: calc(50% - 21px);
  padding: 0;
  z-index: 1;
}

@media screen AND (min-width:991px) {
  .navBarBrand {
    padding: 12px 0px;
  }
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
<!---Website Title-->

<!---Main Content-->
<ul class="navBarBrand">
  <li>
    <a class="=" href="#"><img src="https://www.akberiqbal.com/apple-touch-icon-57x57.png" alt="Notepad Logo"></a>
  </li>
</ul>
<!---Navigation Bar-->
<nav class="navbar nav-fill navbar-expand-lg navbar-light bg-light ">
  <div class="container">
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarMenu">
        <span class="navbar-toggler-icon"></span>
      </button>
    <div class="collapse navbar-collapse" id="navbarMenu">
      <!---Search Bar-->
      <form class="form-inline my-2 my-lg-0">
        <input class="form-control mr-sm-2" type="search" placeholder="Search">
        <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
      </form>
      <!---Notepad Branding-->

      <!---Navigation Links-->
      <ul class="navbar-nav ml-auto">
        <li class="nav-item">
          <a class="nav-link" href="#">Discover Notepads</a>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarProductDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
              Catalogue
            </a>
          <div class="dropdown-menu" aria-labelledby="navbarProductDropdown">
            <a class="dropdown-item" href="#">Furniture</a>
            <a class="dropdown-item" href="#">Lighting</a>
            <a class="dropdown-item" href="#">Decor</a>
          </div>
        </li>
        <!---User Profile-->
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarAvatarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <img src="images\man.png" class="avatar">
          </a>
          <div class="dropdown-menu" aria-labelledby="navbarAvatarDropdown">
            <a class="dropdown-item" href="#">Profile</a>
            <a class="dropdown-item" href="#">My Notepads</a>
            <a class="dropdown-item" href="#">Create New Notepad</a>
            <div class="dropdown-divider"></div>
            <a class="dropdown-item" href="#">Sign Out</a>
          </div>
        </li>
      </ul>
    </div>
  </div>
</nav>

<!---Bootstrap JavaScript and jQuery-->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<!---Firebase SDK-->
<script src="https://www.gstatic.com/firebasejs/6.3.5/firebase-app.js"></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Bootstrap css 图像中心和导航栏与品牌内嵌折叠

导航栏品牌图像重叠导航项目

Bootstrap 3-自定义折叠时导航栏相对于品牌/徽标的位置

隐藏引导程序导航栏品牌,并且仅在导航栏折叠时居中显示

Bootstrap 3 - 导航栏在点击时折叠

Bootstrap v2.3.3导航栏被折叠内容重叠

twitter bootstrap-折叠的bootstrap 3时将对象移动到导航栏

Bootstrap导航栏:左侧品牌-右侧登录-中央可折叠菜单

固定导航栏与其他内容重叠

固定导航栏与其他元素重叠

导航栏导航上方的 Bootstrap 导航栏品牌标题——如何?

Bootstrap导航栏品牌中的SVG徽标

导航栏Bootstrap 3上方的品牌

Bootstrap导航栏-品牌/差距问题

Bootstrap 5 导航栏 - 当品牌位于左侧时,无法将导航项目置于右侧

使用 Bootstrap 在折叠时保留导航栏中的链接

Bootstrap 4 –导航栏折叠时如何连续显示项目?

Bootstrap导航栏折叠或展开时是否触发JavaScript?

Bootstrap 导航栏在折叠时不会切换打开

Bootstrap多级折叠导航栏

Bootstrap 3导航栏折叠

Bootstrap导航栏重叠内容

导航栏品牌标志在折叠时向下移动,我希望它保持在左上角

仅当出现汉堡菜单时,如何使用 Bootstrap 将品牌带到导航栏的中心?

Android折叠工具栏在折叠时未隐藏其他元素

将折叠的导航栏移动到手机上的其他div

Bootstrap折叠导航栏-向左拉文本

Bootstrap 3-禁用导航栏折叠

如何动态取消折叠Bootstrap导航栏?