HTML结构
该幻灯片的HTML结构非常简单,使用嵌套
的HMTL结构。每一个div.inner是一幅幻灯片,div.backgrounds是幻灯片的导航按钮。
<section>
<div class="content">
<div class="inner iron active">
<h1>...</h1>
<p>...</p>
</div>
......
</div>
<div class="backgrounds">
<div class="bg iron active"></div>
<div class="bg cap"></div>
<div class="bg bw"></div>
<div class="bg thor"></div>
</div>
</section>
CSS样式
该幻灯片的整个布局采用绝对定位方式,并使用媒体查询来适应小屏幕的需要。
section {
position: absolute;
top: 3em;
right: 0;
bottom: 0;
left: 0;
z-index: 50;
}
@media (min-width: 48em) {
section {
top: 5em;
}
}
屏幕左侧的半透明遮罩层是div.content,它也采用绝对定位,背景色为白色,透明度为0.8,同样使用媒体查询来适应小屏幕的需要。
section .content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 100;
padding: 2em;
overflow-y: auto;
background-color: rgba(255, 255, 255, 0.8);
}
@media (min-width: 48em) {
section .content {
width: 40%;
}
}
在遮罩层上除了带.activeclass之外的其它div.inner都被设置为不可见。当某个div.inner元素被添加了.activeclass之后(通过jQuery代码),文字变为可见,并执行showTextBlock动画。
section .content .inner {
display: none;
}
section .content .inner.active {
display: block;
-webkit-animation: showTextBlock 1s;
animation: showTextBlock 1s;
}
幻灯片图片的移动是操纵translateY属性来实现。开始的时候图片被设置在屏幕之外,然后当点击相应的导航按钮的时候修改translateY的值使图片移动到屏幕中间。
section .backgrounds .bg.iron {
background-image: url("http://i.imgur.com/ZBD2A0U.jpg");
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
}
JAVASCRIPT
该幻灯片特效中使用jQuery来控制图片的移动,为相应的元素添加和删除相应的class。具体代码参考下载文件。