侧边栏

创建一个平滑的侧边栏,可以在页面内外滑动。

侧边栏组件非常适合构建移动导航,类似于许多原生移动应用程序中流行的导航方式,即左上角的单个按钮可以切换带有菜单的侧边栏。


用法

侧边栏组件由一个覆盖层和一个侧边栏组成。

描述
.uk-offcanvas 将此类添加到 <div> 元素以创建栏容器和覆盖层,使页面变暗。还需要添加一个 id,以便可以切换侧边栏。
.uk-offcanvas-bar 将此类添加到子 <div> 元素以创建侧边栏。

您可以使用任何元素来切换侧边栏。 <a> 元素需要链接到侧边栏容器的 id。要启用必要的 JavaScript,只需添加 data-uk-offcanvas 属性。如果您使用其他元素(如按钮),只需添加 data-uk-offcanvas="{target:'#ID'}" 属性即可定位侧边栏容器的 id。

示例

打开
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

标记

<!-- This is an anchor toggling the off-canvas sidebar -->
<a href="#my-id" data-uk-offcanvas>...</a>

<!-- This is a button toggling the off-canvas sidebar -->
<button class="uk-button" data-uk-offcanvas="{target:'#my-id'}">...</button>

<!-- This is the off-canvas sidebar -->
<div id="my-id" class="uk-offcanvas">
    <div class="uk-offcanvas-bar">...</div>
</div>

动画模式

您可以选择四种不同的动画模式来定义侧边栏的出现方式。

示例

推 (默认) 滑动 显示

标记

<a href="#my-id" data-uk-offcanvas="{mode:'slide'}">...</a>

<a href="#my-id" data-uk-offcanvas="{mode:'reveal'}">...</a>

<a href="#my-id" data-uk-offcanvas="{mode:'none'}">...</a>

翻转修饰符

.uk-offcanvas-bar-flip 类添加到侧边栏以调整其对齐方式,使其从右侧滑入。

示例

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

标记

<div id="my-id" class="uk-offcanvas">
    <div class="uk-offcanvas-bar uk-offcanvas-bar-flip">...</div>
</div>

侧边栏导航

侧边栏可以包含来自 导航组件 的导航。添加 .uk-nav-offcanvas 类以根据侧边栏上下文设置导航样式。

示例

标记

<!-- This is the button toggling the off-canvas sidebar -->
<button class="uk-button" data-uk-offcanvas="{target:'#my-id'}">...</button>

<!-- This is the off-canvas sidebar -->
<div id="my-id" class="uk-offcanvas">
    <div class="uk-offcanvas-bar">
        <ul class="uk-nav uk-nav-offcanvas" data-uk-nav>...</ul>
    </div>
</div>

侧边栏面板

您可以将任何自定义内容放置在侧边栏中。只需将其包装在 <div> 中并添加 .uk-panel 类即可。

示例

面板标题

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

面板标题

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

标记

<!-- This is the button toggling the off-canvas sidebar -->
<button class="uk-button" data-uk-offcanvas="{target:'#my-id'}">...</button>

<!-- This is the off-canvas sidebar -->
<div id="my-id" class="uk-offcanvas">
    <div class="uk-offcanvas-bar">
        <div class="uk-panel">...</div>
    </div>
</div>

JavaScript

您可以通过 JavaScript 打开和关闭侧边栏

// Show an off-canvas matching the passed CSS selector
UIkit.offcanvas.show('#my-id');

// Hide any active offcanvas. Set force to true, if you don't want any animation.
UIkit.offcanvas.hide([force = false])

JavaScript 选项

这是一个如何通过属性设置选项的示例

data-uk-offcanvas="{mode:'slide'}"
选项 可能的值 默认值 描述
mode 'push', 'slide', 'reveal', 'none' push 侧边栏出现的效果模式

事件

名称 参数 描述
show.uk.offcanvas event, panel, bar 在侧边栏显示时
hide.uk.offcanvas event, panel, bar 在侧边栏隐藏时