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= "https://cdn.jsdelivr.net/npm/[email protected]/foundation-icons.min.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 >