【问题标题】:Finding a better way to implement navigation bar which has subcategories寻找一种更好的方法来实现具有子类别的导航栏
【发布时间】:2018-03-01 08:34:31
【问题描述】:

我正在构建一个导航栏。下面的链接是我到目前为止刚刚完成的。
https://jsfiddle.net/dsdzyp23/2/

<div class="navbar-01">
  <div class="navbar-01-container">
    <div class="main-container">
      <div class="logo-center">
        <img style="width: 240px;" src="https://beebom-redkapmedia.netdna-ssl.com/wp-content/uploads/2016/01/Reverse-Image-Search-Engines-Apps-And-Its-Uses-2016.jpg">
      </div>
      <button class="nav-toggle-btn">
					<img style="width: 50px;" src="https://cdn2.iconfinder.com/data/icons/ui-icon-part-2/128/navigation-512.png">
				</button>
      <ul class="nav-categories">
        <li><a href="#runway" data-sub-nav="runway">RUNWAY</a></li>
        <li><a href="#women" data-sub-nav="women">WOMEN</a></li>
        <li><a href="#men" data-sub-nav="men">MEN</a></li>
        <li><a href="#children" data-sub-nav="children">CHILDREN</a></li>
      </ul>
    </div>
  </div>
  <div id="runway" class="navbar-sub">
    <div class="main-container">
      <div class="nav-sub-list">
        <ul class="nav-sub-categories">
          <a href="#women">WOMEN</a>
          <li><a href="#Cruise-2018">Cruise 2018</a></li>
          <li><a href="#Fall-Winter-2017-Runway">Fall Winter 2017 Runway</a></li>
          <li><a href="#Pre-Fall-2017">Pre-Fall 2017</a></li>
        </ul>
        <!-- 
					-->
        <ul class="nav-sub-categories">
          <a href="#men">MEN</a>
          <li><a href="#Cruise-2018">Cruise 2018</a></li>
          <li><a href="#Fall-Winter-2017-Runway">Fall Winter 2017 Runway</a></li>
          <li><a href="#Pre-Fall-2017">Pre-Fall 2017</a></li>
        </ul>
        <!-- 
					 -->
        <ul class="nav-sub-categories">
          <a href="#unskilled-worker">UNSKILLED WORKER</a>
        </ul>
      </div>
    </div>
  </div>
</div>

由于我的子类别没有被锚点包裹,当我的鼠标离开锚点时,子类别 div 会关闭,因此我无法访问子类别 div 中包裹的内容。
我想知道用锚包装子类别是否是实现导航栏的最佳方式? (考虑到响应式网页设计,似乎封装在一起是最简单的实现方式?)

【问题讨论】:

    标签: javascript html css responsive-design navigation


    【解决方案1】:

    这是制作菜单的标准方法。这也取决于要求。

    ul {
      list-style: none;
      padding-left: 0;
      margin-bottom: 0;
    }
    
    .nav-list {
      text-align: center;
    }
    .nav-list-item {
      display: inline-block;
      position: relative;
      margin-left: 5px;
      margin-right: 5px;
    }
    .nav-list-item:hover .subnav-list {
      display: block;
    }
    
    .subnav-list {
      display: none;
      width: 100px;
      transform: translateX(-50%);
      position: absolute;
      top: 100%;
      left: 50%;
    }
    <nav class="nav">
      <ul class="nav-list">
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 1</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 2</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 3</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 4</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 5</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 6</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 7</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 8</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 9</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
        <li class="nav-list-item">
          <a href="" class="subnav-link">Nav 10</a>
          <ul class="subnav-list">
            <li class="subnav-list-item"><a href="">Sub Nav 1</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 2</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 3</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 4</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 5</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 6</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 7</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 8</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 9</a></li>
            <li class="subnav-list-item"><a href="">Sub Nav 10</a></li>
          </ul>
        </li>
      </ul>
    </nav>

    【讨论】:

      猜你喜欢
      • 2014-10-21
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      相关资源
      最近更新 更多