 
						HTML结构
该堆叠卡片共设计了4种效果,第一种效果的HTML结构采用无序列表结构,每一个<li>元素中放置一张图片和一个用于图片描述的div.content元素。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <ul class="cards">  <li class="title">    <h2>Slide right</h2>  </li>  <li class="card card-1"><img src="img/01.jpg"/>    <div class="content">      <h1>Card 1Title</h1>      <p>Card description</p>    </div>  </li>  <li class="card card-2"><img src="img/02.jpg"/>    <div class="content">      <h1>Card 2Title</h1>      <p>Card description</p>    </div>  </li>  <li class="card card-3"><img src="img/03.jpg"/>    <div class="content">      <h1>Card 3Title</h1>      <p>Card description</p>    </div>  </li></ul> | 
第一种卡片效果的每张卡片的基本样式如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | ul.cards {  width: 660px;  margin: 0auto20px;  height: 300px;  list-style-type: none;  position: relative;  padding: 20px0;  cursor: pointer;}ul.cards li.title {  margin: 0020px;}ul.cards li.title h2{  font-weight: 700;}ul.cards li.card {  background: #FFF;  overflow: hidden;  height: 200px;  width: 200px;  border-radius: 10px;  position: absolute;  left: 0px;  box-shadow: 1px2px2px0#aaa;  -webkit-transition: all0.4s cubic-bezier(0.63, 0.15, 0.03, 1.12);          transition: all0.4s cubic-bezier(0.63, 0.15, 0.03, 1.12);}ul.cards li.card img {  max-width: 100%;  padding: 5px;  height: auto;}ul.cards li.card div.content {  padding: 5px10px;} | 
然后使用rotateZ和z-index属性来将图片堆叠在一起并分别旋转一定的角度。同时为后面两张卡片添加transition-delay,用于在卡片展开和收缩时有一定的延迟时间。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ul.cards li.card.card-1{  z-index: 10;  -webkit-transform: rotateZ(-2deg);          transform: rotateZ(-2deg);}ul.cards li.card.card-2{  z-index: 9;  -webkit-transform: rotateZ(-7deg);          transform: rotateZ(-7deg);  -webkit-transition-delay: 0.05s;          transition-delay: 0.05s;}ul.cards li.card.card-3{  z-index: 8;  -webkit-transform: rotateZ(5deg);          transform: rotateZ(5deg);  -webkit-transition-delay: 0.1s;          transition-delay: 0.1s;} | 
在堆叠卡片被点击的时候,ul.card元素被添加了transition class,这个class用于执行卡片的展开动画。
| 1 2 3 4 5 6 7 8 9 10 | ul.cards.transition li.card {  -webkit-transform: rotateZ(0deg);          transform: rotateZ(0deg);}ul.cards.transition li.card.card-1{  left: 440px;}ul.cards.transition li.card.card-2{  left: 220px;} | 
其它三种效果的实现原理基本相同,请参考下载文件。
特效中使用jQuery来在点击卡片时添加和移除相应的class。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | jQuery(document).ready(function($) {    $('ul.cards').on('click', function() {        $(this).toggleClass('transition');    });    $('ul.card-stacks').on('click', function() {        $(this).toggleClass('transition');    });    $('ul.cards-split').on('click', function() {        $(this).toggleClass('transition');    });    $('ul.cards-split-delay').on('click', function() {        $(this).toggleClass('transition');    });}); | 
特别申明:
			本站所有资源都是由网友投稿发布,或转载各大下载站,请自行检测软件的完整性!
			本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
			如有侵权请联系我们删除下架,联系方式:lei1294551502@163.com