# 抽屉/Off-canvas
创建一个可以在页面上平滑地滑入滑出的抽屉。
抽屉完美适用于构建移动端导航,与那些颇受欢迎的许多原生手机应用类似,在其左上角用一个按钮来开关带有菜单的侧边栏。
## 用法
抽屉组件由一个遮罩层和一个弹出边栏组成。
| Class | 描述 |
| --- | --- |
| `.uk-offcanvas` | 添加该类至一个`<div>`元素来创建隐藏在页面外的边栏容器和覆盖层。id也需要添加,使抽屉可被打开或关闭。 |
| `.uk-offcanvas-bar` | 添加该类至一个子级 `<div>` 元素来创建抽屉式边栏。 |
你可以使用任何元素来切换抽屉式侧边栏。 `<a>`元素需要链接至抽屉容器的id。为了使必要的JavaScript生效,仅需添加`data-uk-offcanvas`属性即可。如果你使用了其他元素,比如按钮,仅需添加 `data-uk-offcanvas="{target:'#ID'}"` 属性指向抽屉容器的id。
### 示例
![](https://box.kancloud.cn/2016-05-12_57346f38d47b6.jpg)
### Code
```
<!-- 这是开关抽屉式边栏的锚 -->
<a href="#my-id" data-uk-offcanvas>...</a>
<!-- 这是开关抽屉式边栏的按钮 -->
<button class="uk-button" data-uk-offcanvas="{target:'#my-id'}">...</button>
<!-- 抽屉式边栏 -->
<div id="my-id" class="uk-offcanvas">
<div class="uk-offcanvas-bar">...</div>
</div>
```
* * *
## 翻转修饰
添加 `.uk-offcanvas-bar-flip` 类至抽屉式边栏,使之从右侧滑出。
### 示例
![](https://box.kancloud.cn/2016-05-12_57346f38e8e47.jpg)
### Code
```
<div id="my-id" class="uk-offcanvas">
<div class="uk-offcanvas-bar uk-offcanvas-bar-flip">...</div>
</div>
```
* * *
## 抽屉式导航
抽屉式侧边栏可以包含[导航栏](nav.html)。添加`.uk-nav-offcanvas`类来根据抽屉的上下文定义导航菜单的样式。
### 示例
![](https://box.kancloud.cn/2016-05-12_57346f390af7d.jpg)
### Code
```
<!-- 这是用来触发抽屉式边栏的按钮 -->
<button class="uk-button" data-uk-offcanvas="{target:'#my-id'}">...</button>
<!-- 抽屉式边栏 -->
<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>
```
* * *
## 抽屉式面板
你可以在抽屉式边栏的内部放置任何自定义内容。仅需将其包裹在带有`.uk-panel`类的`<div>`元素中即可。
### 示例
![](https://box.kancloud.cn/2016-05-12_57346f391aaa0.jpg)
### Code
```
<!-- 这是用来触发抽屉式边栏的按钮 -->
<button class="uk-button" data-uk-offcanvas="{target:'#my-id'}">...</button>
<!-- 这是抽屉式边栏 -->
<div id="my-id" class="uk-offcanvas">
<div class="uk-offcanvas-bar">
<div class="uk-panel">...</div>
</div>
</div>
```
* * *
## JavaScript
可以通过JavaScript来打开或关闭抽屉:
```
// 通过CSS选择器匹配抽屉显示状态
$.UIkit.offcanvas.show('#my-id');
// 隐藏当前所有抽屉。如果你不需要任何动画效果,设置为 true。
$.UIkit.offcanvas.hide([force = false])
```
### 事件
| 事件名称 | 参数 | 描述 |
| --- | --- | --- |
| `show.uk.offcanvas` | event, panel, bar | 抽屉显示时触发 |
| `hide.uk.offcanvas` | event, panel, bar | 抽屉隐藏时触发 |
- UIkit 中文文档
- 开始使用
- 初学者
- 开始使用
- 如何自定义
- 布局示例
- 开发者
- 项目结构
- Less & Sass 文件
- 创建主题
- 创建样式
- Customizer.json
- JavaScript
- 自定义前缀
- 核心组件
- 默认
- 基础
- 打印
- 布局类组件
- 网格
- 面板/Panel
- 块/Block
- 文章
- 评论/Comment
- 效果/Utility
- Flex 布局
- 覆盖/Cover
- 导航类组件
- 导航菜单
- 导航栏
- 二级导航
- 面包屑/Breadcrumb
- 分页
- 选项卡
- 缩略图导航/Thumbnav
- 页面元素
- 列表
- 描述列表
- 表格
- 表单
- 常用组件
- 按钮
- 图标
- 关闭/Close
- 徽章/Badge
- 提示框
- 缩略图/Thumbnail
- 遮罩/Overlay
- 文本
- 列
- 动画
- 对比度/Contrast
- JAVASCRIPT组件
- 下拉菜单
- 模态对话框
- 抽屉/Off-canvas
- 切换器/Switcher
- 拨动/toggle
- 滚动监听/Scrollspy
- 平滑滚动
- 附加组件
- 布局类组件
- 动态网格
- 视差网格
- 导航类组件
- 圆点导航
- 滑动导航/Slidenav
- 动态分页
- 常用组件
- 高级表单
- 文件表单/Form file
- 密码表单
- 选择表单
- 占位符
- 进度条/Progress
- JAVASCRIPT组件
- 灯箱/Lightbox
- 自动完成/Autocomplete
- 日期选择器/Datepicker
- HTML 编辑器
- 滚动条/Slider
- 滑块集/Slideset
- 幻灯片/Slideshow
- 视差/Parallax
- 手风琴/Accordion
- 通知/Notify
- 搜索/Search
- 可嵌套/Nestable
- 可排序/Sortable
- 附着/Sticky
- 时间选择器
- 工具提示/Tooltip
- 上传