藤藤每日一练——Pure CSS3 Accordion Slider
发布于
藤藤
Accordion Slider 以前都是使用jQury或别的js脚本来制作,今天我们给大家展示一个纯CSS3实现的水平手风琴幻灯片播放的效果。这个效果有两个关键之处,第一是HTML结构中的input[type="radio"]是必备的,第二是样式通过radio的选中与未选中来控制对应的img显示和隐藏。这里采用的是css的兄弟元素选择器(~),这个是一个很好的应用。当然实现这种效果还可以通过“target”来实现,不过这种方法实现要借助js来显示默认的第一张图片,有兴趣的可以将这个案例改装一下。
HTML CODE
<ul class="main_promo clearfix" id="main_promo">
<li>
<input type="radio" name="radio-set" checked="checked"/>
<div class="slide">
<a href="#"><p>Slide One</p><strong>1</strong></a>
</div>
<div class="slide_img">
<img src="img/img_01.jpg" alt="" />
</div>
</li>
<li>
<input type="radio" name="radio-set" />
<div class="slide">
<a href="#slide_two"><p>Slide Two</p><strong>2</strong></a>
</div>
<div class="slide_img">
<img src="img/img_02.jpg" alt="" />
</div>
</li>
<li>
<input type="radio" name="radio-set" />
<div class="slide">
<a href="#slide_three"><p>Slide Three</p><strong>3</strong></a>
</div>
<div class="slide_img">
<img src="img/img_03.jpg" alt="" />
</div>
</li>
<li>
<input type="radio" name="radio-set" />
<div class="slide">
<a href="#slide_four"><p>Slide Four</p><strong>4</strong></a>
</div>
<div class="slide_img">
<img src="img/img_04.jpg" alt="" />
</div>
</li>
</ul>
CSS CODE
body {
background-color: #f6f6f6;
}
.demo {
width: 940px;
margin: 40px auto 0;
}
.main_promo {
border: 5px solid #3d3d3d;
border-radius: 7px;
box-shadow: 0 8px 16px rgba(0,0,0,.2);
background-color: #1c1c1c;
}
.main_promo li {
position: relative;
float: left;
padding: 5px 0 5px 6px;
overflow: hidden;
}
.main_promo div {
float: left;
}
.slide a {
position: relative;
z-index: 1;
display: block;
outline:none;
width: 50px;
height: 300px;
border-radius: 5px;
background-color: #303030;
transition: all 0.3s ease-in;
}
.slide p {
position: absolute;
top: 30px;
left: -25px;
color: #ddd;
height:20px;
width: 100px;
font-size: 14px;
font-weight: bold;
text-shadow: 0 1px 1px rgba(0,0,0,.8);
word-break:break-all;
transform: rotate(-90deg);
}
.slide strong {
font-size: 30px;
color: #191919;
text-shadow: 0 1px 0 #454545;
position: absolute;
bottom: 15px;
left: 15px;
}
.slide_img {
overflow: hidden;
width: 0;
height: 0;
transition: width 0.5s ease-in-out;
}
.slide_img img {
width: 692px;
height: 300px;
}
input[type="radio"] {
position: absolute;
left: 5px;
z-index: 99;
width: 50px;
height: 300px;
opacity: 0;
cursor: pointer;
}
input:checked ~ .slide a {
text-decoration: none;
background:radial-gradient(circle,#434343,#303030);
}
input:checked ~ .slide_img {
overflow: visible;
width:692px;
height:300px;
margin-left: 8px;
}
特别声明:从这个案例开始,我们所有的CSS3属性都省去其前缀“-moz”、“-webkit”、“-o”、“-ms”,而用改用了prefixfree脚本来实现。详细的使用方法可以点击这里。
如需转载,烦请注明出处:https://www.fedev.cn/demo/css3-accordion-slider.html
nike free run 5.0 size