|
html代码 实现正反面效果的HTML代码,估计你也能想到应该是这样的: <div class="flip-container" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> <!-- 前面内容 --> </div> <div class="back"> <!-- 背面内容 --> </div> </div> 正如你想到的,应该有两个容器,分别存放卡片“前面”和“背面”,通过CSS,我们会指定这两个容器元素自己的作用。还有需要注意的是ontouchstart这段js,它能让你使用触屏来触发翻转动作。显然,你应该把这段代码单独提取出来,让JavaScript代码放到一起。 CSS代码 我敢打赌,你会感到惊讶,只需要如此少的代码(如果不考虑各浏览器CSS方言前缀): /* entire container, keeps perspective */ .flip-container { perspective: 1000; } /* flip the pane when hovered */ .flip-container:hover .flipper, .flip-container.hover .flipper { transform: rotateY(180deg); } .flip-container, .front, .back { width: 320px; height: 480px; } /* flip speed goes here */ .flipper { transition: 0.6s; transform-style: preserve-3d; position: relative; } /* hide back of pane during swap */ .front, .back { backface-visibility: hidden; position: absolute; top: 0; left: 0; } /* front pane, placed above back */ .front { z-index: 2; } /* back, initially hidden pane */ .back { transform: rotateY(180deg); } 下面是大概的整个过程的原理:
转自:http://www.webhek.com/post/css-flip.html |
|
最新喜欢: |