首页 > 解决方案 > 在移动设备上查看时如何将导航项目移出屏幕

问题描述

我正在学习如何为移动设备构建汉堡菜单。

我已经建立了一个有三个孩子的导航。标志、导航项目和汉堡菜单。我使用 flexbox 将它们并排放置并在桌面上的汉堡菜单上显示:none 以最初将其隐藏。

我尝试过使用相对/绝对位置,但效果不太好。此外,将 flex-direction: row 更改为 column 也无济于事。

这是导航栏的标记

<nav class="nav">
  <div class="brand"><h4>The Brand</h4></div>

  <div class="navigation">
    <ul class="navigation__list">
      <li class="navigation__item">
        <a href="#">Home</a>
      </li>
      <li class="navigation__item">
        <a href="#">About</a>
      </li>
      <li class="navigation__item">
        <a href="#">Services</a>
      </li>
      <li class="navigation__item">
        <a href="#">Gallery</a>
      </li>
      <li class="navigation__item">
        <a href="#">Blog</a>
      </li>
      <li class="navigation__item">
        <a href="#">Contact</a>
      </li>
    </ul>
  </div>

  <button class="hamburger">
    <span class="hamburger__box">
      <span class="hamburger__inner"></span>
    </span>
  </button>
</nav>

我想要实现的是:在移动设备上,应该出现汉堡菜单。导航项目应从屏幕上消失,并应垂直放置。我希望它们在单击汉堡包时从右侧滑入。

代码笔: https ://codepen.io/kowalik9412/pen/WNeMQrO

标签: javascripthtmlcssmobileresponsive

解决方案


只需使用引导程序。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js" integrity="sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o" crossorigin="anonymous"></script>

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">



<nav class="navbar navbar-expand-lg navbar-light bg-white">
  <a class="navbar-brand" href="#"><h4>The Brand</h4></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">
    <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="#">About</a>
      </li>
            <li class="nav-item">
        <a class="nav-link" href="#">Services</a>
      </li>
            <li class="nav-item">
        <a class="nav-link" href="#">Gallery</a>
      </li>
            <li class="nav-item">
        <a class="nav-link" href="#">Blog</a>
      </li>
            <li class="nav-item">
        <a class="nav-link" href="#">Contact</a>
      </li>
        </div>
      </li>
    </ul>

  </div>
</nav>


推荐阅读