一款基于css3的3D图片翻页切换特效
今天给大家分享一款基于css3的3D图片翻页切换特效。单击图片下方的滑块会切换上方的图片。动起你的鼠标试试吧,效果图如下:
实现的代码。
html代码:
<div id="imgdex">
<figure>
<img src="arabic-eyes.jpg" alt="Photograph of a woman's face under a Bedouin headress"><figcaption>Bedouin</figcaption>
</figure>
<figure>
<img src="blue-green-eyes.jpg" alt="Photograph of a man's blue-green-eyes"><figcaption>Blue-green</figcaption>
</figure>
<figure>
<img src="fake-eyelashes.jpg" alt="Photograph of dramatic fake eyelashes in closeup">
<figcaption>Dramatic Fake</figcaption>
</figure>
<figure>
<img src="snow-queen.jpg" alt="Photograph of a girl in heavy snow"><figcaption>Snow</figcaption>
</figure>
</div>
<form>
<input type="range" min="1" onfocus="this.oldvalue = this.value;" oninput="updateImage(this);this.oldvalue = this.value;"
id="ranger">
</form>
css3代码:
#imgdex
{
position: relative;
-webkit-perspective: 4000px;
perspective: 4000px;
width: 80%;
max-width: 1200px;
margin: 0 auto;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
font-family: Avenir, Calibri, sans-serif;
padding-top: 45%;
}
#imgdex figure, #imgdex figure figcaption
{
position: absolute;
-webkit-transition: 1s ease-in-out;
transition: 1s ease-in-out;
}
#imgdex figure
{
top:;
left: 120px;
-webkit-transform-origin: left bottom;
-ms-transform-origin: left bottom;
transform-origin: left bottom;
width: 70%;
}
#imgdex figure img
{
width: 100%;
}
#imgdex figure figcaption
{
bottom:;
font-size: 1.2rem;
left: -8rem;
opacity:;
}
#imgdex figure:last-of-type
{
-webkit-transform: rotateX(5deg);
transform: rotateX(5deg);
box-shadow: 0px 0px 200px rgba(0,0,0,0.5);
}
form
{
text-align: center;
padding-bottom: 2rem;
}
form input[type="range"]
{
width: 50%;
}
js代码:
var imgdex = document.getElementById('imgdex'), figs = imgdex.querySelectorAll('figure'), imgcount = figs.length;
ranger.max = imgcount;
ranger.value = imgcount;
for (var i = 0; i < imgcount - 1; i++) {
if (window.CP.shouldStopExecution(1)) {
break;
}
var rotation = parseFloat(-92 + '.' + (imgcount - i));
figs[i].style.webkitTransform = 'rotateX(' + rotation + 'deg)';
figs[i].style.transform = 'rotateX(' + rotation + 'deg)';
}
window.CP.exitedLoop(1);
document.querySelector('#imgdex figure:last-child figcaption').style.opacity = 1;
function updateImage(slider) {
var currentimg = document.querySelector('#imgdex figure:nth-child(' + slider.value + ')');
if (slider.oldvalue !== undefined) {
var oldimg = document.querySelector('#imgdex figure:nth-child(' + slider.oldvalue + ')');
} else {
slider.oldvalue = imgcount;
var oldimg = document.querySelector('#imgdex figure:nth-child(' + slider.oldvalue + ')');
}
if (slider.value < slider.oldvalue) {
currentimg.style.webkitTransform = 'rotateX(' + slider.value + 'deg)';
currentimg.style.transform = 'rotateX(' + slider.value + 'deg)';
}
if (slider.value > slider.oldvalue) {
var rotation = parseFloat(-92 + '.' + (imgcount - slider.value));
oldimg.style.webkitTransform = 'rotateX(' + rotation + 'deg)';
oldimg.style.transform = 'rotateX(' + rotation + 'deg)';
}
if (slider.value !== slider.oldvalue) {
currentimg.querySelector('figcaption').style.opacity = 1;
oldimg.querySelector('figcaption').style.opacity = 0;
}
}
via:http://www.w2bc.com/Article/18867
一款基于css3的3D图片翻页切换特效的更多相关文章
- 基于css3的3D立方体旋转特效
今天给大家分享一款基于css3的3D立方体旋转特效.这款特效适用浏览器:360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 不支持IE8及以下浏览器.效果图如下 : ...
- 基于jQuery适合做图片类网站的特效
分享一款基于jquery适合做图片类网站的特效.这是一款鼠标经过图片滑动弹出标题效果代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class="c ...
- 一款纯css3实现的图片3D翻转幻灯片
之前介绍了好多款网页幻灯片,今天要给大家再带来一款纯css3实现的图片3D翻转幻灯片.这款幻灯片图片轮播采用了3D翻转的形式,效果非常不错.一起看下效果图: 在线预览 源码下载 实现的代码. ht ...
- 使用 CSS3 实现 3D 图片滑块效果【附源码下载】
使用 CSS3 的3D变换特性,我们可以通过让元素在三维空间中变换来实现一些新奇的效果. 这篇文章分享的这款 jQuery 立体图片滑块插件,利用了 3D transforms(变换)属性来实现多种不 ...
- 一款基于javascript的3D玻璃破碎特效
之前为大家介绍了一款 html5 canvas实现图片玻璃碎片特效.今天要给大家带来一款基于javascript的3D玻璃破碎特效.效果图如下: 在线预览 源码下载 html代码: <div ...
- 一款基于css3鼠标经过圆形旋转特效
今天给大家分享一款基于css3鼠标经过圆形旋转特效.当鼠标经过的时候图片边框颜色旋转,图片显示详情.该实例适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗 ...
- 网页特效:用CSS3制作3D图片立方体旋转特效
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 9款基于CSS3 Transitions实现的鼠标经过图标悬停特效
之前给大家分享了很多css3实现的按钮特效.今天给大家分享9款基于CSS3 Transitions实现的鼠标经过图标悬停特效.这款特效适用浏览器:360.FireFox.Chrome.Safari.O ...
- 一款基于css3的动画按钮
之前为大家分享了 推荐10款纯css3实现的实用按钮.今天给大家带来一款基于css3的动画按钮.实现的效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class=& ...
随机推荐
- 服务器进程为何通常fork()两次
首先,要了解什么叫僵尸进程,什么叫孤儿进程,以及服务器进程运行所需要的一些条件.两次fork()就是为了解决这些相关的问题而出现的一种编程方法. 孤儿进程 孤儿进程是指父进程在子进程结束之前死亡(re ...
- 第二百零六天 how can I 坚持
今天爬了趟香山,第三次去了,要征服北京这大大小小的山. 要征服三山五岳,然后...罗娜.哈哈. 爬了趟山好累,人好多. 我的铜钱草. 洗刷睡觉,还是明天给鱼换水吧,好懒.
- Using Boost Libraries in Windows Store and Phone Applications
Using Boost Libraries in Windows Store and Phone Applications RATE THIS Steven Gates 18 Jul 2014 5:3 ...
- 适应所有浏览器的cookie
//设置cookie的方法 weiyingfunction SetCookie(a, b) { var d = new Date(); var v = arguments; ...
- McAfee VirusScan Enterprise
企业版下载入口: http://www.mcafee.com/cn/downloads/downloads.aspxGrant number:6240017-NAI6240018-NAI 下载Vir ...
- C++视频课程小结(3)
C++远征之封装篇(上) 章节介绍: 每章小结: 第一章:课程介绍. 按照惯例是章节的总介绍,内容明显多了很多(为了做作业我还要赶进度的说),主要说了:类和对象是本章的主角,然后还有很多配角,像数据成 ...
- POJ1185状态压缩DP
难得的中文题. POJ1185http://poj.org/problem?id=1185 方法就是用DP[i][r][p]表示第i行状态为r,第i-1行状态是p时的最多个数.而这里p受到r的限制,而 ...
- STL容器set()--->自定义数据类型
set容器中不能插入重复的元素,需要其插入的元素有比较大小(<).相等(==) 的逻辑判断,这是因为set中的元素是有序排列, 默认从小到大排列 std::set<type,std::le ...
- 一个优秀windows C++程序员的知识体系[转]
转自:一个优秀windows C++程序员的知识体系 思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图: 除了上面知识,程序员还要不断学习, 保持对新知识的 ...
- 【css hack】正是我所找的,帮了大忙啊
(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-03-05) 各个浏览器单独设置属性 IE6:能识别下划线 “_” 和 星号 “*“,不能识别 “!important” ...