创建包含图片和视频的响应式轮播。
轮播(Slideshow)组件完全响应式,支持触摸、滑动导航,在桌面端还支持鼠标拖拽。在幻灯片之间滑动时,动画会紧紧跟随你的指尖或鼠标光标。当你点击上一个、下一个导航时,动画会加速以跟上你的操作节奏。所有动画都启用了硬件加速,以获得更流畅的性能。
要使用该组件,为容器元素添加 uk-slideshow 属性,并使用 .uk-slideshow-items 类创建幻灯片列表。
使用来自 Cover 组件 的 uk-cover 属性,为每张幻灯片的背景添加一张图片。
<div uk-slideshow>
<div class="uk-slideshow-items">
<div>
<img src="" alt="" uk-cover>
</div>
</div>
</div><div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow>
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>注意 要对幻灯片中的图片进行懒加载,请使用 loading="lazy" 属性。Slideshow 会自动移除相邻幻灯片中图片上的该属性。
默认情况下,轮播使用 slide 动画。可以设置 animation 选项来使用其他动画。可选值如下:
| 动画 | 描述 |
|---|---|
slide |
幻灯片横向滑入。 |
fade |
幻灯片淡入。 |
scale |
幻灯片放大的同时淡出。 |
pull |
幻灯片从牌堆中拉出。 |
push |
幻灯片被推入牌堆。 |
<div uk-slideshow="animation: fade">…</div><div class="uk-child-width-1-2@m" uk-grid>
<div>
<div class="uk-h3">Slide</div>
<div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow>
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>
</div>
<div>
<div class="uk-h3">Fade</div>
<div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="animation: fade">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>
</div>
<div>
<div class="uk-h3">Scale</div>
<div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="animation: scale">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>
</div>
<div>
<div class="uk-h3">Pull</div>
<div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="animation: pull">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>
</div>
<div>
<div class="uk-h3">Push</div>
<div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="animation: push">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>
</div>
</div>要启用自动播放,只需为属性添加 autoplay: true 选项。还可以使用 autoplay-interval: 6000 设置切换幻灯片之间的间隔,单位为毫秒。要在悬停轮播时暂停自动播放,请使用 pause-on-hover: true。
<div uk-slideshow="autoplay: true">…</div>默认情况下,无限滚动是启用的。要禁用这一行为,只需为属性添加 finite: true 选项。
<div uk-slideshow="finite: true">…</div>轮播始终占满其父容器的全部宽度。高度会根据所定义的宽高比自适应。要改变默认的 16:9 宽高比,只需为属性添加 ratio 选项。建议使用与背景图片相同的宽高比。例如,直接使用图片的宽度和高度,写成 1600:1200。
<div uk-slideshow="ratio: 7:3">…</div><div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="ratio: 7:3; animation: push">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>默认情况下,轮播高度采用所定义的宽高比。可以使用 min-height 和 max-height 选项设置最小或最大高度。
<div uk-slideshow="min-height: 300; max-height: 600">…</div><div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="min-height: 300; max-height: 600; animation: push">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>为幻灯片列表添加来自 Height 组件 的 uk-height-viewport 属性,可将高度拉伸至填满整个视口。可以设置 min-height 选项来定义最小高度。
<div uk-slideshow="ratio: false">
<ul class="uk-slideshow-items" uk-height-viewport="min: 300">…</ul>
</div><div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="ratio: false">
<div class="uk-slideshow-items" uk-height-viewport="offset-top: true; offset-bottom: 30">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>注意 本示例的高度设置为视口高度的 70%。
要在幻灯片之间导航,只需使用 uk-slideshow-item 属性。要指向特定幻灯片,将每个导航项的属性设置为对应幻灯片项的索引数字。带有 uk-slideshow-item 属性的元素必须位于 uk-slideshow 容器内部。将属性设置为 next 和 previous 会切换到相邻的幻灯片。
<div uk-slideshow>
<div class="uk-slideshow-items">…</div>
<a href uk-slideshow-item="previous">…</a>
<a href uk-slideshow-item="next">…</a>
<ul>
<li uk-slideshow-item="0"><a href>…</a></li>
<li uk-slideshow-item="1"><a href>…</a></li>
<li uk-slideshow-item="2"><a href>…</a></li>
</ul>
</div>Slideshow 组件的灵活性让你可以使用任意其他 UIkit 组件来在各个项目之间导航。例如,可以使用 Slidenav、Dotnav 和 Thumbnav 组件来设置轮播导航的样式。
如果导航项中没有项目特定的内容,你也可以添加 .uk-slideshow-nav 类,而不必手动添加导航项。它会自动以 <li><a href></a></li> 作为标记生成这些项目。使用 Dotnav 时,这是一个便捷的简写方式。
<div uk-slideshow>
<div class="uk-slideshow-items">…</div>
<ul class="uk-slideshow-nav uk-dotnav"></ul>
</div><div uk-slideshow="animation: push">
<div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>
<ul class="uk-slideshow-nav uk-dotnav uk-flex-center uk-margin"></ul>
</div>注意 为了让叠加的导航更清晰可见,请添加来自 Inverse 组件 的 .uk-light 或 .uk-dark 类。
除了使用导航控件逐步切换动画之外,轮播还可以基于其在视口中的滚动位置,使用无级视差动画。只需为属性添加 parallax: true。如果在标记中设置了导航,它将无法点击,但会获得当前幻灯片的激活状态。
<div uk-slideshow="parallax: true">…</div><div uk-slideshow="animation: push; parallax: true;">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<ul class="uk-slideshow-nav uk-dotnav uk-flex-center uk-margin"></ul>
</div>要调整视差时长,请设置 parallax-start 和 parallax-end 选项。parallax-start 选项定义动画何时开始。默认值 0 表示轮播的上边框与视口的下边框相交。end 选项定义动画何时结束。默认值 0 表示轮播的下边框与视口的上边框相交。取值可以使用任意尺寸单位,即 vh、% 和 px。% 单位相对于轮播的高度。这两个选项都支持基本的数学运算符 + 和 -。
<div uk-slideshow="parallax: true; parallax-start: 100%; parallax-end: 100%;">…</div><div uk-slideshow="animation: push; parallax: true; parallax-start: 100%; parallax-end: 100%;">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
<ul class="uk-slideshow-nav uk-dotnav uk-flex-center uk-margin"></ul>
</div>轮播并不局限于图片。其他媒体(例如视频)也可以使用来自 Cover 组件 的 uk-cover 属性放置到每张幻灯片的背景中。视频会被静音并自动播放。当视频不可见时会暂停,再次可见时恢复播放。
<div uk-slideshow>
<div class="uk-slideshow-items">
<div>
<video src="" autoplay loop muted playsinline uk-cover></video>
</div>
<div>
<iframe src="" uk-cover></iframe>
</div>
</div>
</div><div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="animation: push">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div>
<video src="https://yootheme.com/media/videos/yootheme-pro.mp4" autoplay loop muted playsinline uk-cover></video>
</div>
<div>
<iframe src="https://www.youtube-nocookie.com/embed/c2pz2mlSfXA?playsinline=1&rel=0&controls=0&loop=1" width="1920" height="1080" allowfullscreen uk-cover></iframe>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>要添加一个简单的 Ken Burns 效果,用 div 包裹图片,并添加 .uk-position-cover 和 .uk-animation-kenburns 类。你也可以应用 .uk-animation-reverse 或来自 Utility 组件 的 .uk-transform-origin-* 系列类之一来调整该效果。
<div uk-slideshow>
<div class="uk-slideshow-items">
<div>
<div class="uk-position-cover uk-animation-kenburns uk-animation-reverse uk-transform-origin-center-left">
<img src="" alt="" uk-cover>
</div>
</div>
</div>
</div><div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="animation: push">
<div class="uk-slideshow-items">
<div>
<div class="uk-position-cover uk-animation-kenburns uk-animation-reverse uk-transform-origin-center-left">
<img src="images/photo.jpg" alt="" uk-cover>
</div>
</div>
<div>
<div class="uk-position-cover uk-animation-kenburns uk-animation-reverse uk-transform-origin-top-right">
<img src="images/dark.jpg" alt="" uk-cover>
</div>
</div>
<div>
<div class="uk-position-cover uk-animation-kenburns uk-animation-reverse uk-transform-origin-bottom-left">
<img src="images/light.jpg" alt="" uk-cover>
</div>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>使用 Position 组件 添加内容叠层。它可以让你把内容放置在幻灯片内的任意位置。
<div uk-slideshow>
<div class="uk-slideshow-items">
<div>
<img src="" alt="" uk-cover>
<div class="uk-position-center uk-position-small">
<!-- The content goes here -->
</div>
</div>
</div>
</div>注意 为了让内容在每张图片上都清晰可见,请添加来自 Inverse 组件 的 .uk-light 或 .uk-dark 类,或者使用 Overlay 为叠层框添加任意样式。
<div class="uk-position-relative uk-visible-toggle" tabindex="-1" uk-slideshow="animation: push">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
<div class="uk-position-center uk-position-small uk-text-center uk-light">
<h2 class="uk-margin-remove">Center</h2>
<p class="uk-margin-remove">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
<div class="uk-position-bottom uk-position-medium uk-text-center uk-light">
<h3 class="uk-margin-remove">Bottom</h3>
<p class="uk-margin-remove">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
<div class="uk-overlay uk-overlay-primary uk-position-bottom uk-text-center">
<h3 class="uk-margin-remove">Overlay Bottom</h3>
<p class="uk-margin-remove">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
<div class="uk-overlay uk-overlay-default uk-position-bottom-right uk-position-small">
<h3 class="uk-margin-remove">Overlay Bottom Right</h3>
<p class="uk-margin-remove">Lorem ipsum dolor sit amet.</p>
</div>
</div>
</div>
<div class="uk-light">
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>
</div>为幻灯片内的任意元素添加 uk-slideshow-parallax 属性,使其随轮播动画一同运动。为每个想要动画的 CSS 属性添加一个选项,并写入所需的动画值。至少需要定义一个起始值和一个结束值,可以通过传入以逗号分隔的两个值来实现。
该功能继承自 Parallax 组件,可以依据轮播动画的滚动位置来为 CSS 属性添加动画。请查看 可用属性 了解哪些属性可以添加动画。
<div uk-slideshow>
<div class="uk-slideshow-items">
<div>
<img src="" alt="" uk-cover>
<div class="uk-position-center uk-position-small">
<div uk-slideshow-parallax="x: 100,-100">
<!-- The content goes here -->
</div>
</div>
</div>
</div>
</div>在上面的示例中,内容会从 100 开始,在幻灯片移入的过程中动画到一半位置的 0。当幻灯片开始移出时,内容会继续动画到 -100。这样可行是因为起始值和结束值的距离相同。如果距离不同,则需要三个值:Start(幻灯片移入)、Middle(幻灯片居中)、End(幻灯片移出)。
<div uk-slideshow-parallax="x: 300,0,-100">…</div>下一个示例定义了不同的进入和退出动画。内容从 100 移动到 0 滑入,并从 1 淡出到 0。
<div uk-slideshow-parallax="x: 100,0,0; opacity: 1,1,0">…</div><div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="animation: push">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
<div class="uk-position-center uk-position-small uk-text-center">
<h2 uk-slideshow-parallax="x: 100,-100">Heading</h2>
<p uk-slideshow-parallax="x: 200,-200">Lorem ipsum dolor sit amet.</p>
</div>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
<div class="uk-position-center uk-position-small uk-text-center">
<h2 uk-slideshow-parallax="x: 100,-100">Heading</h2>
<p uk-slideshow-parallax="x: 200,-200">Lorem ipsum dolor sit amet.</p>
</div>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
<div class="uk-position-center uk-position-small uk-text-center">
<h2 uk-slideshow-parallax="y: -50,0,0; opacity: 1,1,0">Heading</h2>
<p uk-slideshow-parallax="y: 50,0,0; opacity: 1,1,0">Lorem ipsum dolor sit amet.</p>
</div>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>视差属性可用于为轮播动画添加额外效果。在下面的示例中,push 动画被扩展为:图片滑出时同时变暗并缩小。
<div uk-slideshow="animation: push">
<div class="uk-slideshow-items">
<div>
<div class="uk-position-cover" uk-slideshow-parallax="scale: 1.2,1.2,1">
<img src="" alt="" uk-cover>
</div>
<div class="uk-position-cover" uk-slideshow-parallax="opacity: 0,0,0.2; backgroundColor: #000,#000"></div>
</div>
</div>
</div><div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="animation: push">
<div class="uk-slideshow-items">
<div>
<div class="uk-position-cover" uk-slideshow-parallax="scale: 1.2,1.2,1">
<img src="images/photo.jpg" alt="" uk-cover>
</div>
<div class="uk-position-cover" uk-slideshow-parallax="opacity: 0,0,0.2; backgroundColor: #000,#000"></div>
<div class="uk-position-center uk-position-medium uk-text-center">
<div uk-slideshow-parallax="scale: 1,1,0.8">
<h2 uk-slideshow-parallax="x: 200,0,0">Heading</h2>
<p uk-slideshow-parallax="x: 400,0,0;">Lorem ipsum dolor sit amet.</p>
</div>
</div>
</div>
<div>
<div class="uk-position-cover" uk-slideshow-parallax="scale: 1.2,1.2,1">
<img src="images/dark.jpg" alt="" uk-cover>
</div>
<div class="uk-position-cover" uk-slideshow-parallax="opacity: 0,0,0.2; backgroundColor: #000,#000"></div>
<div class="uk-position-center uk-position-medium uk-text-center">
<div uk-slideshow-parallax="scale: 1,1,0.8">
<h2 uk-slideshow-parallax="x: 200,0,0">Heading</h2>
<p uk-slideshow-parallax="x: 400,0,0;">Lorem ipsum dolor sit amet.</p>
</div>
</div>
</div>
<div>
<div class="uk-position-cover" uk-slideshow-parallax="scale: 1.2,1.2,1">
<img src="images/light.jpg" alt="" uk-cover>
</div>
<div class="uk-position-cover" uk-slideshow-parallax="opacity: 0,0,0.2; backgroundColor: #000,#000"></div>
<div class="uk-position-center uk-position-medium uk-text-center">
<div uk-slideshow-parallax="scale: 1,1,0.8">
<h2 uk-slideshow-parallax="x: 200,0,0">Heading</h2>
<p uk-slideshow-parallax="x: 400,0,0;">Lorem ipsum dolor sit amet.</p>
</div>
</div>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>幻灯片内会自动触发来自 Transition 组件 的过渡类。与视差效果不同,过渡并不依附于轮播动画,而是在轮播动画结束后独立开始播放。
<div uk-slideshow>
<div class="uk-slideshow-items">
<div>
<img src="" alt="" uk-cover>
<div class="uk-position-bottom uk-position-small">
<div class="uk-transition-slide-bottom">
<!-- The content goes here -->
</div>
</div>
</div>
</div>
</div>配合 Overlay 组件,内容过渡可用于为轮播构建经典的字幕效果。
<div class="uk-position-relative uk-visible-toggle uk-light" tabindex="-1" uk-slideshow="animation: fade">
<div class="uk-slideshow-items">
<div>
<img src="images/photo.jpg" alt="" uk-cover>
<div class="uk-overlay uk-overlay-primary uk-position-bottom uk-text-center uk-transition-slide-bottom">
<h3 class="uk-margin-remove">Bottom</h3>
<p class="uk-margin-remove">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div>
<img src="images/dark.jpg" alt="" uk-cover>
<div class="uk-overlay uk-overlay-primary uk-position-bottom uk-text-center uk-transition-slide-bottom">
<h3 class="uk-margin-remove">Bottom</h3>
<p class="uk-margin-remove">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div>
<img src="images/light.jpg" alt="" uk-cover>
<div class="uk-overlay uk-overlay-primary uk-position-right uk-text-center uk-transition-slide-right uk-width-medium">
<h3 class="uk-margin-remove">Left</h3>
<p class="uk-margin-remove">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
</div>
<a class="uk-position-center-left uk-position-small uk-hidden-hover" href uk-slidenav-previous uk-slideshow-item="previous"></a>
<a class="uk-position-center-right uk-position-small uk-hidden-hover" href uk-slidenav-next uk-slideshow-item="next"></a>
</div>以下任意选项都可以应用到组件属性上。多个选项之间用分号分隔。了解更多
| 选项 | 值 | 默认值 | 描述 |
|---|---|---|---|
animation |
String | slide |
轮播动画模式(slide、fade、scale、pull 或 push)。 |
autoplay |
Boolean | false |
轮播自动播放。 |
autoplay-interval |
Number | 7000 |
自动播放模式下切换幻灯片之间的延迟。 |
draggable |
Boolean | true |
启用指针拖拽。 |
easing |
String | ease |
动画缓动方式(CSS 时间函数或 cubic-bezier)。 |
finite |
Boolean | false |
禁用无限滑动。 |
pause-on-hover |
Boolean | true |
悬停时暂停自动播放模式。 |
index |
Number | 0 |
要显示的轮播项目。索引从 0 开始。 |
velocity |
Number | 1 |
动画速度(像素/毫秒)。 |
ratio |
Boolean, String | 16:9 |
宽高比。(false 可阻止高度调整) |
min-height |
Boolean, Number | false |
最小高度。 |
max-height |
Boolean, Number | false |
最大高度。 |
了解关于 JavaScript 组件 的更多内容。
UIkit.slideshow(element, options);以下事件会在绑定了该组件的元素上触发:
| 名称 | 描述 |
|---|---|
beforeitemshow |
在项目被显示之前触发。 |
itemshow |
在项目被显示之后触发。 |
itemshown |
在项目的显示动画完成之后触发。 |
beforeitemhide |
在项目被隐藏之前触发。 |
itemhide |
在项目的隐藏动画开始之后触发。 |
itemhidden |
在项目的隐藏动画完成之后触发。 |
该组件提供以下方法:
UIkit.slideshow(element).show(index);显示轮播项目。
UIkit.slideshow(element).startAutoplay();启动轮播自动播放。
UIkit.slideshow(element).stopAutoplay();停止轮播自动播放。
Slideshow 组件遵循 Carousel WAI-ARIA 设计模式,并会自动设置合适的 WAI-ARIA 角色、状态和属性。
aria-roledescription 属性被设置为 carousel。aria-live 属性。aria-roledescription 属性(设置为 slide)和 aria-label 属性;如果轮播只有上一个/下一个导航,则带有 group 角色,如果轮播有选项卡导航,则带有 tabpanel 角色。选项卡导航遵循 tab 模式。
tablist 角色。presentation 角色。tab 角色、aria-selected 状态、设置为对应幻灯片 ID 的 aria-controls 属性,以及 aria-label 属性。上一个/下一个导航遵循 button 模式。
aria-label 属性、设置为幻灯片列表 ID 的 aria-controls 属性;如果使用的是 <a> 元素,还会带有 button 角色。当 Slideshow 组件中的任意元素获得焦点时,自动播放会停止。可以通过以下按键使用键盘访问选项卡导航。
Slideshow 组件使用以下翻译字符串。了解关于 翻译组件 的更多内容。
| 键 | 默认值 | 描述 |
|---|---|---|
next |
Next Slide |
下一个幻灯片按钮的 aria-label。 |
previous |
Previous Slide |
上一个幻灯片按钮的 aria-label。 |
slideX |
Slide %s |
分页幻灯片按钮的 aria-label。 |
slideLabel |
%s of %s |
幻灯片的 aria-label。 |