阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Foundation 顶部导航栏

      Foundation 顶部导航栏

      顶部导航栏放在页面头部:

      <nav class="top-bar" data-topbar>
        <ul class="title-area">
          <li class="name">
            <!-- 如果你不需要标题或图标可以删掉它 -->
            <h1><a href="#">WebSiteName</a></h1>
          </li>
            <!-- 小屏幕上折叠按钮: 去掉 .menu-icon 类,可以去除图标。 
            如果需要只显示图片,可以删除 "Menu" 文本 -->
          <li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
        </ul>
      
        <section class="top-bar-section">
          <ul class="left">
            <li class="active"><a href="#">Home</a></li>
            <li><a href="#">Page 1</a></li>
            <li><a href="#">Page 2</a></li>
            <li><a href="#">Page 3</a></li> 
          </ul>
        </section>
      </nav>
      
      <!-- 初始化 Foundation JS -->
      <script>
      $(document).ready(function() {
          $(document).foundation();
      })
      </script>
      

      实例解析

      使用 <nav class="top-bar" data-topbar> 创建标准工具条。 .title-area 类定义了网站logo区域 (必须防止 li.name 内) 。屏幕变小后你就可以看到一个 “menu” 按钮。 Foundation 的菜单会根据屏幕尺寸自动折叠和延展:

      小屏幕上,由于尺寸的原因很多选项会被隐藏。 li.toggle-topbar menu.icon 类创建了一个菜单的按钮,点击它可以显示被隐藏的选项。
      提示: 重置浏览器窗口查看效果。

      .top-bar-section 定义了导航的链接部分。 .left 类指定链接左对齐。 .active 类用于显示选中的项,背景为蓝色。

      提示: 如果你想导航链接右对齐可以将 .left 修改为 .right :

      <section class="top-bar-section">
        <ul class="right">...
      

      你可以同时设置左边对齐与右边对齐:

      <section class="top-bar-section">
        <ul class="left">
          <li class="active"><a href="#">Home</a></li>
          <li><a href="#">Page 1</a></li>
          <li><a href="#">Page 2</a></li>
        </ul>
        <ul class="right">
          <li><a href="#">Sign Up</a></li>
          <li><a href="#">Login</a></li>
        </ul>
      </section>
      

      导航栏可以通过 .divider 类来添加分割线 (大屏幕上是垂直的线,小屏幕上是水平线):

      <ul class="left">
        <li class="active"><a href="#">Home</a></li>
        <li class="divider"></li>
        <li><a href="#">Page 1</a></li>
        <li class="divider"></li>
        <li><a href="#">Page 2</a></li>
        <li class="divider"></li>
        <li><a href="#">Page 3</a></li> 
        <li class="divider"></li>
      </ul>
      

      导航栏的下拉菜单

      顶部导航栏可以设置下拉菜单。

      可以通过在 <li> 元素上添加 .has-dropdown 类来设置下拉菜单:

      <section class="top-bar-section">
        <ul class="left">
          <li class="active"><a href="#">Home</a></li>
          <li class="has-dropdown">
            <a href="#">Dropdown</a>
            <ul class="dropdown">
              <li><a href="#">First link in dropdown</a></li>
              <li><a href="#">Second link in dropdown</a></li>
              <li class="active"><a href="#">Active link in dropdown</a></li>
            </ul>
          </li>
        </ul>
      </section>
      

      分割线

      使用 .divider 类来设置下拉菜单的分割线:

      <ul class="dropdown">
        <li><a href="#">Apple</a></li>
        <li><a href="#">Banana</a></li>
        <li><a href="#">Orange</a></li>
        <li class="divider"></li>
        <li><a href="#">Kale</a></li>
        <li><a href="#">Spinach</a></li>
      </ul>
      

      下拉菜单标签

      在 <li> 内添加 <label> 元素来设置下拉菜单的标签(标题):

      <ul class="dropdown">
        <li><label>Fruit</label></li>
        <li><a href="#">Apple</a></li>
        <li><a href="#">Banana</a></li>
        <li><a href="#">Orange</a></li>
        <li class="divider"></li>
        <li><label>Vegetable</label></li>
        <li><a href="#">Kale</a></li>
        <li><a href="#">Spinach</a></li>
      </ul>
      

      内嵌下拉菜单

      下拉菜单可以再嵌入一个下拉菜单:

      <section class="top-bar-section">
        <ul class="left">
          <li class="has-dropdown">
            <a href="#">Dropdown</a>
            <ul class="dropdown">
              <li><label>Level 1</label></li>
              <li><a href="#">Link</a></li>
              <li><a href="#">Link</a></li>
              <li class="has-dropdown">
                <a href="#">New dropdown</a>
                <ul class="dropdown">
                  <li><label>Level 2</label></li>
                  <li><a href="#">2nd level dropdown</a></li>
                  <li><a href="#">2nd level dropdown</a></li>
                  <li class="has-dropdown">
                    <a href="#">New dropdown</a>
                    <ul class="dropdown">
                      <li><label>Level 3</label></li>
                      <li><a href="#">3rd level dropdown</a></li>
                      <li><a href="#">3rd level dropdown</a></li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      

      可点击

      默认情况下导航栏的下拉菜单在鼠标移动过去后显示,我们可以使用 data-options="is_hover: false" 属性来设置导航栏在鼠标在点击后显示:

      <nav class="top-bar" data-topbar data-options="is_hover: false">
      

      导航栏上的按钮及图标

      你可以在导航栏上放置图标和按钮:

      <li><a href="#" class="button">Button Link</a></li>
      

      你可以在导航栏上放上图标,更多图片样式可以查看 Foundation 图标教程:

      <head>
      <!-- Foundation 图标样式 -->
      <link rel="stylesheet" href="http://static.axihe.com/assets/foundation-icons/foundation-icons.css">
      </head>
      
      <ul class="left">
        <li class="active"><a href="#"><i class="fi-home"></i> Home</a></li>
        <li><a href="#"><i class="fi-torso"></i> Sign Up</a></li>
        <li><a href="#"><i class="fi-magnifying-glass"></i> Search</a></li> 
      </ul>
      

      固定导航栏

      导航栏可以固定在页面顶部。

      页面滚动时导航栏在顶部是不会动的。

      要固定导航栏只需要将导航栏放在 <div class="fixed"> 内即可:

      <div class="fixed">
        <nav class="top-bar" data-topbar>
          ...
        </nav>
      </div>
      

      导航栏绝对定位

      我们可以将导航栏放在 <div class="sticky"> 内来设置导航栏的绝对定位,当滚动条滚到到该区域时,该导航栏就像固定导航栏一样在顶部不动:

      <div class="sticky">
        <nav class="top-bar" data-topbar>
          ...
        </nav>
      </div>
      

      当你使用 .sticky 类时,顶部导航栏在所有屏幕尺寸上将固定不动。如果你需要在指定屏幕上设定只需要在 <nav> 上添加 data-options=“sticky_on: small|medium|large” 属性即可:

      <div class="sticky">
        <!-- 只有在大屏幕上 -->
        <nav class="top-bar" data-topbar data-options="sticky_on: large">
          ..
         </nav>
      </div>
      

      或者通过数组设置多个屏幕尺寸:

      <div class="sticky">
        <!-- 小屏幕和大屏幕 (没有中等屏幕)-->
        <nav class="top-bar" data-topbar data-options="sticky_on: [small, large]">
          ..
         </nav>
      </div>
      
      目录
      目录