CSS / HTML Slider。第一张图像应该显示在所有图像上,然后是第二图像,然后是第三张图像......

时间:2014-07-17 10:11:04

标签: html css slider z-index

没有jQuery / Javascript简单的html / css滑块...请参阅此

http://jsfiddle.net/Qrw76

HTML CODE

<div class="accordian">
<ul>
<li>
    <div class="image_title"></div>
    <a href="adv"><img src="http://placehold.it/640x348"/></a>
</li>

<li>
    <div class="image_title"></div>
    <a href="#"><img src="http://placehold.it/640x348"/></a>
</li>

<li>
    <div class="image_title"></div>
    <a href="adv"><img src="http://placehold.it/640x348"/></a>
</li>

<li>
    <div class="image_title"></div>
    <a href="adv"><img src="http://placehold.it/640x348"/></a>
</li>

<li>
    <div class="image_title"></div>
    <a href="adv"><img src="http://placehold.it/640x348"/></a>
</li>

</ul>
</div>

CSS代码在这里

* {
margin: 0; 
padding: 0;
}

.accordian {
width: 820px; height: 348px;
overflow: hidden;

/*Time for some styling*/
margin: 100px auto;
box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.35);
-webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.35);
-moz-box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.35);
}

/*A small hack to prevent flickering on some browsers*/
.accordian ul {
width: 2000px;
/*This will give ample space to the last item to move
instead of falling down/flickering during hovers.*/
}

.accordian li {
position: relative;
display: block;
width: 120px;
float: left;
border-left: 1px solid #888;

box-shadow: 0 0 25px 10px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 0 25px 10px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 0 25px 10px rgba(0, 0, 0, 0.5);

/*Transitions to give animation effect*/
transition: all 0.5s;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
/*If you hover on the images now you should be able to 
see the basic accordian*/
}

/*Reduce with of un-hovered elements*/
.accordian ul:hover li {width: 40px;

}
/*Lets apply hover effects now*/
/*The LI hover style should override the UL hover style*/
.accordian ul li:hover {width: 600px;
}

.accordian li img {
display: block;
}

/*Image title styles*/
.image_title {
background: rgba(0, 0, 0, 0.5);
position: absolute;
left: 0; bottom: 0; 
width: 640px;   
}
.image_title a {
display: block;
color: #fff;
text-decoration: none;
padding: 20px;
font-size: 16px;
}

在滑块中,第一个图像(li)位于第二个图像后面......第二个图像位于第三个图像后面......依此类推......最后一个图像位于所有... ...

但我想要的是第一张图片应该是最重要的,然后在第二张之后...然后第3和第6张将落后于所有......简单......有人可以这样做吗?

1 个答案:

答案 0 :(得分:1)

使用以下jquery代码为每个li添加z-index。

JS

var s = $('.accordian ul li').size();
$('.accordian ul li').each(function(index){
    var z = s - index;
    $(this).css('z-index', z);
});

CSS:

.accordian li {
   overflow:hidden;
}

编辑:删除末尾的空格

将最后一个类添加到手风琴中的最后一个项目,并删除该项目的框阴影

CSS:

.accordian li.last{ box-shadow:none; }

同时删除.accordion中的顶部阴影。如果需要,可以将其添加到手风琴项目本身。

Updated DEMO

相关问题