调整浏览器大小时引导导航栏链接重叠

阿什拉夫

我在中间制作了 Bootstrap Navbar 标志。这是结果的图片:

在此处输入图片说明

但是我有 1 个问题:当我调整浏览器的大小时,导航链接似乎相互重叠。

在此处输入图片说明

我正在寻找的是当我调整浏览器的大小时,链接保持相对于彼此并且不会重叠,直到它在引导程序切换按钮中折叠为止。这里的解决方案是什么?

这是 HTML 和 CSS

html,
body {
  height: 100%;
  width: 100%;
  font-family: 'Arial', 'Poppins', sans-serif;
  background-color: #2d2d2d;
  margin: 0;
}

.navbar {
  width: 100%;
  z-index: 999;
  background: #2d2d2d;
  ;
  margin-top: 0;
  padding: 2em;
  /* display: flex; */
}

.navbar .nav-link:hover {
  color: rgba(255, 185, 197, 0.986) !important;
}

.navbar-brand {
  transform: translateX(-50%);
  left: 50%;
  top: .1%;
  position: absolute;
}

.navbar-nav li {
  padding-right: 40px;
  font-family: 'Myriad Pro';
  font-weight: bold;
  /* display: inline-block; */
}

#mt-nav-left {
  position: absolute;
  transform: translateX(60%);
  right: 60%;
}

#mt-nav-right {
  position: absolute;
  transform: translateX(-65%);
  left: 65%;
}

#banner {
  overflow: auto;
  z-index: 998;
}

#banner img {
  width: 100%;
  object-fit: cover;
}

@media (max-width: 1024px) {
  #mt-nav-right {
    position: static;
  }
}

@media (max-width: 991px) {
  #mt-nav-left {
    position: relative;
  }
  #mt-nav-right {
    position: relative;
  }
}
<nav class="navbar navbar-expand-lg navbar-dark sticky-top">
  <button class="navbar-toggler ml-auto custom-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="toggle">
                      <i class="fas fa-bars" style="font-size: 21px;"></i>
                    </span>
                  </button>

  <a class="navbar-brand" href="index.html">
    <img class="img-responsive" src="img/logo.png" width="85px" height="85px" class="d-inline-block align-top">
  </a>
  </div>
  <div class="collapse navbar-collapse" id="navbarNav">
    <ul class="nav navbar-nav ml-auto" id="mt-nav-left">
      <li class="nav-item" id="mt-navbar-link">
        <a class="nav-link scroll" href="index.html">HOME <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item" id="mt-navbar-link">
        <a class="nav-link scroll" href="#">ABOUT</a>
      </li>
    </ul>

    <ul class="nav navbar-nav ml-auto" id="mt-nav-right">
      <li class="nav-item" id="mt-navbar-link">
        <a class="nav-link scroll" href="#">CONTACT</a>
      </li>
      <li class="nav-item" id="mt-navbar-link">
        <a class="nav-link scroll" href="#">VACANCIES</a>
      </li>
    </ul>
  </div>

</nav>

谢尔盖·科尔

您可以使用 flex-box 来解决它。这个想法是在两个列表之间放置一个空框,具有以下属性

flex-shrink: 0;
flex-basis: 100px //(not less then the width of your logo);

看看我做的片段。

.navbar-brand {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.menu {
  width: 100%;
}
.menu .navbar-nav {
  flex-grow: 1;
}


/*
  THIS CLASS PREVENTS OVERLAPING
*/

.menu .separator {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 100px;
  max-width: 250px;
  
  background: orange;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>

<nav class="navbar navbar-expand-sm navbar-light bg-light">
      <a class="navbar-brand" href="#">Navbar</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="navbar-toggler-icon"></span>
      </button>
    
      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <div class="d-flex menu">
          <ul class="navbar-nav mr-auto justify-content-end">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link</a>
            </li>
          </ul>
          <!-- Box that prevents overlaping -->
          <div class="separator">
          </div>
          <ul class="navbar-nav mr-auto">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link</a>
            </li>
          </ul>
        </div>
        
      </div>
    </nav>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

调整浏览器窗口大小时,li元素重叠

来自分类Dev

调整浏览器大小时内容重叠

来自分类Dev

调整浏览器大小时,为什么我的div重叠?

来自分类Dev

重新调整浏览器大小时,我有2个div重叠

来自分类Dev

调整浏览器大小时如何防止UI元素彼此重叠?

来自分类Dev

当我调整浏览器大小时,元素与图像重叠

来自分类Dev

调整窗口大小时如何避免导航栏元素重叠?

来自分类Dev

调整屏幕大小时,引导导航栏中断

来自分类Dev

调整浏览器大小时CSS容器未调整

来自分类Dev

调整浏览器大小时css容器未调整

来自分类Dev

缩小浏览器尺寸时,导航栏与徽标重叠

来自分类Dev

调整浏览器大小时对齐Flexbox部分

来自分类Dev

调整浏览器大小时CSS边框影响宽度

来自分类Dev

调整浏览器大小时的bootstrap scrollspy错误

来自分类Dev

更改浏览器宽度调整大小时的高度

来自分类Dev

调整浏览器大小时大图像会移动

来自分类Dev

当浏览器水平调整大小时,图像缩小

来自分类Dev

调整浏览器窗口大小时,标题部分消失

来自分类Dev

调整浏览器窗口大小时禁用jquery插件

来自分类Dev

浏览器调整大小时布局中断

来自分类Dev

调整浏览器大小时对齐失败

来自分类Dev

在调整浏览器大小时禁用滚动事件

来自分类Dev

调整浏览器大小时,如何包装菜单?

来自分类Dev

调整浏览器大小时的菜单按钮

来自分类Dev

在浏览器调整大小时更改文本

来自分类Dev

调整浏览器大小时,大图像会移动

来自分类Dev

调整浏览器大小时,如何使元素移动更快?

来自分类Dev

调整浏览器大小时更改占位符

来自分类Dev

元素总是在调整浏览器大小时移动

Related 相关文章

热门标签

归档