为列表式导航定义不同的样式。
要应用该组件,请使用以下类。
| 类 | 描述 |
|---|---|
.uk-nav |
将该类添加到 <ul> 元素以定义 Nav 组件。使用 <a> 元素作为列表中的导航项。 |
.uk-active |
将该类添加到列表项,为菜单项应用激活状态。 |
<ul class="uk-nav">
<li class="uk-active"><a href=""></a></li>
<li><a href=""></a></li>
</ul><div class="uk-width-1-2@s uk-width-2-5@m">
<ul class="uk-nav uk-nav-default">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>注意 默认情况下,导航没有任何样式。因此必须添加一个修饰符类,这很重要。在上面的示例中,我们使用了 .uk-nav-default 类。
为某个项目添加 .uk-parent 类,将其变为父级项。在该项目内的 <ul> 元素上添加 .uk-nav-sub 类,以创建子导航。
<ul class="uk-nav">
<li class="uk-parent">
<a href=""></a>
<ul class="uk-nav-sub">
<li><a href=""></a></li>
<li>
<a href=""></a>
<ul>…</ul>
</li>
</ul>
</li>
</ul><div class="uk-width-1-2@s uk-width-2-5@m">
<ul class="uk-nav uk-nav-default">
<li class="uk-active"><a href="#">Active</a></li>
<li class="uk-parent">
<a href="#">Parent</a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li>
<a href="#">Sub item</a>
<ul>
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>默认情况下,子菜单项始终可见。要应用手风琴效果,只需为主 <ul> 添加 uk-nav 属性。
注意 该属性会自动设置 .uk-nav 类,因此你无需手动添加。
<ul uk-nav>…</ul><div class="uk-width-1-2@s uk-width-2-5@m">
<ul class="uk-nav-default" uk-nav>
<li class="uk-active"><a href="#">Active</a></li>
<li class="uk-parent">
<a href="#">Parent</a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li>
<a href="#">Sub item</a>
<ul>
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
</ul>
</li>
<li class="uk-parent">
<a href="#">Parent</a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
</ul>
</div>要创建父级图标,只需为 <span> 元素添加 uk-nav-parent-icon 属性。
<ul uk-nav>
<li>
<a href="">Parent <span uk-nav-parent-icon></span></a>
…
</li>
</ul><div class="uk-width-1-2@s uk-width-2-5@m">
<ul class="uk-nav-default" uk-nav>
<li class="uk-active"><a href="#">Active</a></li>
<li class="uk-parent">
<a href="#">Parent <span uk-nav-parent-icon></span></a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li>
<a href="#">Sub item</a>
<ul>
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
</ul>
</li>
<li class="uk-parent">
<a href="#">Parent <span uk-nav-parent-icon></span></a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
</ul>
</div>点击父级项时,已展开的其他项会关闭,因此同一时间只能有一个嵌套列表展开。要允许多个子导航同时展开,只需为该属性添加 multiple: true 选项。
<ul uk-nav="multiple: true">…</ul><div class="uk-width-1-2@s uk-width-2-5@m">
<ul class="uk-nav-default" uk-nav="multiple: true">
<li class="uk-active"><a href="#">Active</a></li>
<li class="uk-parent">
<a href="#">Parent <span uk-nav-parent-icon></span></a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li>
<a href="#">Sub item</a>
<ul>
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
</ul>
</li>
<li class="uk-parent">
<a href="#">Parent <span uk-nav-parent-icon></span></a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
</ul>
</div>为列表项添加以下类之一,以创建标题或项目之间的分隔线。
| 元素 | 描述 |
|---|---|
.uk-nav-header |
将该类添加到 <li> 元素以创建标题。 |
.uk-nav-divider |
将该类添加到 <li> 元素以创建分隔导航项的分隔线。 |
<li class="uk-nav-header"></li>
<li class="uk-nav-divider"></li><div class="uk-width-1-2@s uk-width-2-5@m">
<ul class="uk-nav uk-nav-default">
<li class="uk-nav-header">Header</li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li class="uk-nav-divider"></li>
<li><a href="#">Item</a></li>
</ul>
</div>为 div 元素添加 .uk-nav-subtitle 类,为项目创建副标题。
<ul class="uk-nav">
<li>
<a href="">
<div>
Item
<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.</div>
</div>
</a>
</li>
</ul><div class="uk-width-1-2@s uk-width-2-5@m">
<ul class="uk-nav uk-nav-default">
<li class="uk-active"><a href="#"><div>Active<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.</div></div></a></li>
<li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.</div></div></a></li>
<li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.</div></div></a></li>
<li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.</div></div></a></li>
</ul>
</div>添加 .uk-nav-default 类,为导航应用默认样式。你可以把导航放在卡片内或内容中的任意位置。
<ul class="uk-nav uk-nav-default">…</ul><div class="uk-card uk-card-default uk-card-body uk-width-1-2@s">
<ul class="uk-nav-default" uk-nav>
<li class="uk-active"><a href="#">Active</a></li>
<li class="uk-parent">
<a href="#">Parent <span uk-nav-parent-icon></span></a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
<li class="uk-parent">
<a href="#">Parent <span uk-nav-parent-icon></span></a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
<li class="uk-nav-header">Header</li>
<li><a href="#"><span class="uk-margin-xsmall-right" uk-icon="icon: table"></span> Item</a></li>
<li><a href="#"><span class="uk-margin-xsmall-right" uk-icon="icon: thumbnails"></span> Item</a></li>
<li class="uk-nav-divider"></li>
<li><a href="#"><span class="uk-margin-xsmall-right" uk-icon="icon: trash"></span> Item</a></li>
</ul>
</div>添加 .uk-nav-primary 类,为导航应用更鲜明的样式,例如把它放在模态框内时。
<ul class="uk-nav uk-nav-primary">…</ul><div class="uk-width-1-2@s">
<ul class="uk-nav-primary" uk-nav>
<li class="uk-active"><a href="#">Active</a></li>
<li class="uk-parent">
<a href="#">Parent <span uk-nav-parent-icon></span></a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
<li class="uk-parent">
<a href="#">Parent <span uk-nav-parent-icon></span></a>
<ul class="uk-nav-sub">
<li><a href="#">Sub item</a></li>
<li><a href="#">Sub item</a></li>
</ul>
</li>
<li><a href="#">Item</a></li>
</ul>
</div>如果导航带有副标题,添加 .uk-nav-secondary 类可使用额外的样式。
<ul class="uk-nav uk-nav-secondary">…</ul><div class="uk-width-1-2@s">
<ul class="uk-nav uk-nav-secondary">
<li class="uk-active"><a href="#"><div>Active<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.</div></div></a></li>
<li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.</div></div></a></li>
<li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.</div></div></a></li>
<li><a href="#"><div>Item<div class="uk-nav-subtitle">Subtitle lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do.</div></div></a></li>
</ul>
</div>添加 .uk-nav-center 类,使导航项居中。它可以与默认和主色样式修饰符组合使用。
<ul class="uk-nav uk-nav-default uk-nav-center">…</ul><div class="uk-card uk-card-default uk-card-body uk-width-1-2@s">
<ul class="uk-nav-default uk-nav-center" uk-nav>
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>添加 .uk-nav-divider 类,用线条分隔导航项。它可以与默认、主色和辅助色样式修饰符组合使用。
<ul class="uk-nav uk-nav-default uk-nav-divider">…</ul><div class="uk-width-1-2@s">
<ul class="uk-nav-default uk-nav-divider" uk-nav>
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>添加以下类之一,以修改主色导航的尺寸。
| 类 | 描述 |
|---|---|
.uk-nav-medium |
添加该类以应用中等尺寸的主色导航。 |
.uk-nav-large |
添加该类以应用大尺寸的主色导航。 |
.uk-nav-xlarge |
添加该类以应用超大尺寸的主色导航。 |
<ul class="uk-nav uk-nav-primary uk-nav-large">…</ul><div class="uk-width-1-2@s">
<ul class="uk-nav-primary uk-nav-large" uk-nav>
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
</ul>
</div>添加 .uk-dropdown-nav 类,将导航放入 Dropdown 组件的默认下拉菜单中。
<div uk-dropdown>
<ul class="uk-nav uk-dropdown-nav">…</ul>
</div><button class="uk-button uk-button-default" type="button">Hover</button>
<div uk-dropdown>
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li class="uk-nav-header">Header</li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li class="uk-nav-divider"></li>
<li><a href="#">Item</a></li>
</ul>
</div>添加 .uk-navbar-dropdown-nav 类,将导航放入 Navbar 组件的导航栏下拉菜单中。
<div class="uk-navbar-dropdown">
<ul class="uk-nav uk-navbar-dropdown-nav">…</ul>
</div><nav class="uk-navbar-container" uk-navbar>
<div class="uk-navbar-left">
<ul class="uk-navbar-nav">
<li>
<a href="#">Parent</a>
<div class="uk-navbar-dropdown">
<ul class="uk-nav uk-navbar-dropdown-nav">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li class="uk-nav-header">Header</li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li class="uk-nav-divider"></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</li>
</ul>
</div>
</nav>导航可以用于 Offcanvas 组件的抽屉(off-canvas)中,无需添加任何修饰符类。
<a href="#offcanvas-slide" class="uk-button uk-button-default" uk-toggle>Open</a>
<div id="offcanvas-slide" uk-offcanvas>
<div class="uk-offcanvas-bar">
<ul class="uk-nav uk-nav-default">
<li class="uk-active"><a href="#">Active</a></li>
<li><a href="#">Item</a></li>
<li class="uk-nav-header">Header</li>
<li><a href="#">Item</a></li>
<li><a href="#">Item</a></li>
<li class="uk-nav-divider"></li>
<li><a href="#">Item</a></li>
</ul>
</div>
</div>以下选项均可应用于组件属性。多个选项之间用分号分隔。了解更多
| 选项 | 值 | 默认值 | 描述 |
|---|---|---|---|
targets |
CSS selector | > .uk-parent |
要切换的元素。 |
toggle |
CSS selector | > a |
触发切换的元素。 |
content |
CSS selector | > ul |
内容元素。 |
collapsible |
Boolean | true |
允许关闭所有项目。 |
multiple |
Boolean | false |
允许多个项目同时展开。 |
transition |
String | ease |
使用的过渡效果。 |
animation |
Boolean, String | true |
以空格分隔的动画名称。若要设置退出动画,用逗号分隔。 |
duration |
Number | 200 |
动画持续时间,单位为毫秒。 |
了解关于 JavaScript 组件的更多内容。
UIkit.nav(element, options);该组件提供以下方法:
UIkit.nav(element).toggle(index, animate);切换内容面板。
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
index |
String, Number, Node | 0 | 要切换的导航面板。索引从 0 开始。 |
animate |
Boolean | true | 传入 false 可阻止展开动画。 |