html - Bootstrap 的导航栏切换器使我的内容向下移动

标签 html css responsive-design bootstrap-4

我的导航栏切换器(汉堡菜单)仅在小屏幕上显示。但是当它出现并单击它时,标题上的所有元素都会向下移动。 我不希望发生这种情况,我只想看到菜单,并且该菜单位于标题上方。

这是我当前的代码:

header {
    height: 100vh;
    box-shadow: inset 100vw 0 0 #00000066;
}
<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">


<header>
        <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #6E7476">
            <a class="navbar-brand" href="#">Online TV</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup"
                aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse justify-content-center" id="navbarNavAltMarkup">
                <nav class="nav nav-tabs">
                    <a class="nav-item nav-link active" href="#">Active</a>
                    <a class="nav-item nav-link" href="#">Much </a>
                    <a class="nav-item nav-link" href="#">Link</a>
                </nav>
            </div>
          
        </nav>

        <div class="container-fluid main-text mt-sm-3 mt-lg-5 js-slidein block">
            <h4 class="display-4">The Best IPTV for Albanian users </h4>
        </div>
    </header>






<!-- AVOID THIS -->
<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>
        <script src="https://code.jquery.com/jquery-3.4.1.min.js"
            integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
            integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>

最佳答案

您可以应用内置在类中的 Bootstrap 。添加 position-absolute w-100 到 nav 和 position-relativecontainer-fluid

header {
  height: 100vh;
  box-shadow: inset 100vw 0 0 #00000066;
}

.position-relative {
  padding-top: 55px;
  z-index: -1
}
<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">

<header>
  <nav class="navbar navbar-expand-lg navbar-light position-absolute w-100" style="background-color: #6E7476">
    <a class="navbar-brand" href="#">Online TV</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
    <div class="collapse navbar-collapse justify-content-center" id="navbarNavAltMarkup">
      <nav class="nav nav-tabs">
        <a class="nav-item nav-link active" href="#">Active</a>
        <a class="nav-item nav-link" href="#">Much </a>
        <a class="nav-item nav-link" href="#">Link</a>
      </nav>
    </div>

  </nav>

  <div class="container-fluid main-text mt-sm-3 mt-lg-5 js-slidein block position-relative">
    <h4 class="display-4">The Best IPTV for Albanian users </h4>
  </div>
</header>

<!-- AVOID THIS -->
<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>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>

关于html - Bootstrap 的导航栏切换器使我的内容向下移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56628438/

相关文章:

html - 混合基于百分比的宽度和基于像素的间隙?

javascript - jquery ajax : Unexpected Token & function not defined

html - 对齐 Div 在 Firefox 中有效,但在 IE 大于 7 时无效

jquery - 不透明度的过渡需要预先设置的显示 block

css - Gmail 响应式电子邮件 - 媒体查询 - 样式标签

css - 布局、CSS 表格、表格单元格和旁边列上的丑陋间隙

javascript - 克隆表单元素并增加名称标签

html - 并排 float 两个 div 时,eft col 内容的额外间距

css - 在响应式布局中绝对定位背景

html - Flexbox 元素不会在浏览器窗口调整大小时重新排序,但会在响应模式下重新排序