Foundation 顶部导航栏
顶部导航栏放在页面头部
Foundation 使用 <nav class="top-bar" data-topbar>
创建一个顶部导航栏
<nav class="top-bar" data-topbar> <ul class="title-area"> <li class="name"><h1><a href="#">WebSiteName</a></h1></li> <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> <script> $(document).ready(function() { $(document).foundation();}) </script>
在上面的代码中
-
使用
<nav class="top-bar" data-topbar>
创建标准工具条 -
使用
.title-area
CSS 类定义了网站 logo 区域,必须放在li.name
内 -
li.toggle-topbar menu.icon
CSS 类创建了一个菜单的按钮,点击它可以显示被隐藏的选项 -
.top-bar-section
定义了导航的链接部分 -
.active
CSS 类用于显示选中的项,背景为蓝色 -
.left
CSS 类指定链接左对齐
Foundation 的菜单会根据屏幕尺寸自动折叠和延展,屏幕变小后你就可以看到一个 "menu" 按钮
小屏幕上,由于尺寸的原因很多选项会被隐藏。
导航链接右对齐
如果想导航链接右对齐可以将 .left
修改为 .right
<section class="top-bar-section"> <ul class="right">...
同时设置左边对齐与右边对齐
Foundation 允许同时设置左边对齐与右边对齐
<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
CSS 类来添加分割线 (大屏幕上是垂直的线,小屏幕上是水平线)
<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
CSS 类来设置下拉菜单
<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>
下拉菜单分割线
Foundation 使用 .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 图标教程
<link rel="stylesheet" href="http://static.twle.cn/assets/foundation-icons/foundation-icons.css"> <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>