# 幻灯片/Slideshow
创建可以全屏模式和遮罩效果的,具有炫酷过渡效果的响应式图片或视频幻灯片。
## 用法
要创建幻灯片,只需要添加 `.uk-slideshow` 类到一个 `<ul>` 元素中,并将你的图片放入列表条目内。为了加载必要的JavaScript,还需要添加 `data-uk-slideshow` 属性。
注意 使用此组件需要额外添加 `slideshow.css` 文件,在`css/components`文件夹中。此组件需要额外添加 `slideshow.js` 文件,在`js/components`文件夹中。
### Example
![](https://box.kancloud.cn/2016-05-12_57346f3edb48a.png)
注意 如果需要自动播放,为data属性添加 `{autoplay:true}` 选项就行了。
### Markup
```
<ul class="uk-slideshow" data-uk-slideshow="{autoplay:true}">
<li><img src="" width="" height="" alt=""></li>
</ul>
```
* * *
## 导航/Navigations
在幻灯片中进行导航,使用 `data-uk-slideshow-item` 属性就行。为了能指向幻灯片,你必须为每个导航单元设置data属性指向每个幻灯片单元的序号。带有 `data-uk-slideshow-item` 属性的元素需要被放置在带有 `data-uk-slideshow` 的容器中。
### Markup
```
<div data-uk-slideshow>
<ul class="uk-slideshow">
<li></li>
<li></li>
</ul>
<li data-uk-slideshow-item="0"><a href="">...</a></li>
<li data-uk-slideshow-item="1"><a href="">...</a></li>
</div>
```
将data属性设置为 `next` and `previous` 就能进行相邻幻灯片之间的切换。像这样:
### Markup
```
<div data-uk-slideshow>
<ul class="uk-slideshow">
<li></li>
<li></li>
</ul>
<a href="" data-uk-slideshow-item="previous"></a>
<a href="" data-uk-slideshow-item="next"></a>
</div>
```
* * *
### 滑动导航和圆点导航
幻灯片组件的灵活性使之可以用任何其他UIkit组件进行幻灯片的导航。比如[滑动导航](slidenav.html)和[圆点导航](dotnav.html)可以用来像下面这样作为幻灯片的导航。
#### Example
![](https://box.kancloud.cn/2016-05-12_57346f3eeb7ad.jpg)
#### Markup
```
<div class="uk-slidenav-position" data-uk-slideshow>
<ul class="uk-slideshow">
<li></li>
<li></li>
</ul>
<a href="" class="uk-slidenav uk-slidenav-contrast uk-slidenav-previous" data-uk-slideshow-item="previous"></a>
<a href="" class="uk-slidenav uk-slidenav-contrast uk-slidenav-next" data-uk-slideshow-item="next"></a>
<ul class="uk-dotnav uk-dotnav-contrast uk-position-bottom uk-text-center">
<li data-uk-slideshow-item="0"><a href=""></a></li>
<li data-uk-slideshow-item="1"><a href=""></a></li>
</ul>
</div>
```
* * *
## 过渡形式
幻灯片组件允许添加不同的幻灯片切换效果。你需要做的就是将 `animation` 参数添加到data属性中,并声明你希望使用的动画。查看下面的表格了解咱都提供了哪些动画效果。
| Class | 描述 |
| --- | --- |
| `fade` | 淡入 |
| `scroll` | 滚动进入 |
| `scale` | 放大 |
| `swipe` | 滑动进入、滑动离开 |
要使用下面这些增强的过渡效果,必须在文档head中引入 `slideshow-fx.js` 。下面表格不翻译了,看后面的演示吧。
| Class | 描述 |
| --- | --- |
| `slice-down` | The items slide down in slices. |
| `slice-up` | The items slide up in slices. |
| `slice-up-down` | The sliced items slide in alterning directions. |
| `fold` | The items are folded in. |
| `puzzle` | The items are divided in squares that randomly fade in. |
| `boxes` | The items are divided in squares that scale in diagonally from the top left corner. |
| `boxes-reverse` | The items are divided in squares that scale in diagonally from the bottom right corner. |
| `random-fx` | Different animations are applied randomly. |
### Markup
```
<ul class="uk-slideshow" data-uk-slideshow="{animation: 'random-fx'}">...</ul>
```
* * *
## Ken Burns 效果
炫酷的 Ken Burns 效果也能用在幻灯片里。只需要添加 `{kenburns:true}` 选项到data属性中就行。这个效果还能用在视频上。
### Example
![](https://box.kancloud.cn/2016-05-12_57346f3f0f372.jpg)
### Markup
```
<ul class="uk-slideshow" data-uk-slideshow="{kenburns:true}">...</ul>
```
自定义动画持续时间:
```
<ul class="uk-slideshow" data-uk-slideshow="{kenburns:'30s'}">...</ul>
```
* * *
## 全屏幻灯片
创建填满整个视口的全屏幻灯片,只需要添加一个 `.uk-slideshow-fullscreen` 类。
#### Markup
```
<ul class="uk-slideshow uk-slideshow-fullscreen" data-uk-slideshow>...</ul>
```
* * *
## 遮罩
还可以用遮罩来提升幻灯片的效果,为幻灯片列表条目内的 `<div>` 元素添加 `.uk-uk-overlay-panel` 类就行。添加 `.uk-overlay-background` 和 `.uk-overlay-fade` 带来背景与过渡效果。要实现幻灯片显示时即触发遮罩,添加 `.uk-uk-overlay-active` 到列表容器即可。更多选项查看 [遮罩组件](overlay.html).
### Example
![](https://box.kancloud.cn/2016-05-12_57346f3f212be.jpg)
### Markup
```
<ul class="uk-slideshow uk-overlay-active" data-uk-slideshow>
<li>
<img src="" width="" height="" alt="">
<div class="uk-overlay-panel uk-overlay-background uk-overlay-fade">...</div>
</li>
</ul>
```
* * *
## 视频
UIkit 允许在幻灯片中放入视频和iframe。
### Example
<video width="600" height="400" autoplay="" loop="" muted="" controls=""><source src="http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4?test1" type="video/mp4"> <source src="http://www.quirksmode.org/html5/videos/big_buck_bunny.ogv?test2" type="video/ogg"></video>
### Markup
```
<!-- 带有视频的幻灯片 -->
<ul class="uk-slideshow">
<li>
<video width="" height="" autoplay loop muted controls>
<source src="" type="">
</video>
</li>
</ul>
<!-- 带有Iframe的幻灯片 -->
<ul class="uk-slideshow">
<li>
<iframe src="" width="" height="" frameborder="0" allowfullscreen></iframe>
</li>
</ul>
```
* * *
## 内容
基本上可以在幻灯片内插入任何内容,比如文本甚至整个网格。
### Example
![](https://box.kancloud.cn/2016-05-12_57346f3f34c1e.jpg)
* * *
## JavaScript 选项
| 选项 | 默认值 | 描述 |
| --- | --- | --- |
| `animation` | 'fade' | 定义幻灯片之间优先呈现的过渡效果 |
| `duration` | 500 | 过渡效果持续时间 |
| `height` | 'auto' | 幻灯片高度 |
| `start` | 0 | 定义显示的第一张幻灯片 |
| `autoplay` | false | 是否自动切换幻灯片 |
| `pauseOnHover` | true | 鼠标悬停时是否暂停自动播放 |
| `autoplayInterval` | 7000 | 定义幻灯片切换的时间跨度 |
| `videoautoplay` | true | 定义是否自动开始播放视频 |
| `videomute` | true | 定义是否静音播放视频 |
| `kenburns` | false | 定义是否启用 Ken Burns 效果 |
| `kenburnsanimations` | uk-animation-middle-left, uk-animation-top-right,
uk-animation-bottom-left, uk-animation-top-center,
uk-animation-bottom-right | 动画方向 |
| `slices` | 15 | 定义碎片的数量,如果启用了 "Slice" 过渡效果的话。 |
### 事件
| 名称 | 参数 | 描述 |
| --- | --- | --- |
| `show.uk.slideshow` | event, next slide, current slide | 新的一页显示时触发(动画完成后) |
| `beforeshow.uk.slideshow` | event, next slide, current slide | 新的一页显示前触发(动画完成前) |
- 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
- 上传