原理是基于css3的

1、景深:perspective:100px;

2、中心点:transform-origin:center center 0;

3、transform-style:preserve-3d  父级作变换会保留效果到子集上面

通过节点嵌套 实现立方体效果:

<div class="box">
<div class="div">
<div>
<span>1</span>
<div>
<span>2</span>
<div>
<span>3</span>
<div>
<span>4</span>
</div>
</div>
</div>
</div>
</div>
</div>
   .box { width:100px;height:100px; padding:50px; margin:100px auto; perspective: 200px;}
.box .div { position: relative; width:100px;height:100px; transform-origin:center center -50px; transform-style:preserve-3d; transition:3s; }
.box .div div{ position:absolute; left:100px; top:0px; transform:rotateY(90deg); background:green; width:100px;height:100px; transform-style:preserve-3d; transform-origin:left;}
.box .div>div{ left:0px;transform:rotateY(0deg);}
.box:hover .div { transform:rotateY(-360deg); }
.div span{ color:white; display:block; color:white; text-align:center; line-height:100px; }

--------------以上是实现原理----------------------

下面是实现的效果

function setLayout(){
var list = id("imgList");
var li = list.getElementsByTagName("li");
var liH = (list.clientHeight)/4;
var str = "";
for(var i=0;i<16;i++){
str += '<li><div class="div"><div><span></span><div><span></span><div><span></span><div><span></span></div></div></div></div></div></li>';
}
list.innerHTML=str;
id("css").innerHTML += "#imgList li{height:"+liH+"px}";
for(var i=0; i<li.length;i++){
var span = li[i].getElementsByTagName("span");
for(var j=0; j<span.length;j++){
span[j].style.backgroundImage = "url("+imgUrls[j]+")";
span[j].style.backgroundPosition=-(i%4)*4+"rem -"+parseInt(i/4)*liH+"px";
}
}
}

主要是在页面生成16个li然后通过背景设置span的background-position确定每个小格子的位置

css3 手机端翻屏切换效果的更多相关文章

  1. jQuery手机端触摸卡片切换效果

    效果:http://hovertree.com/code/run/jquery/a1gr3gm9.html 可以用手机查看效果. 代码如下: <!doctype html> <htm ...

  2. jquery 单行滚动、批量多行滚动、文字图片翻屏滚动效果代码

    jquery单行滚动.批量多行滚动.文字图片翻屏滚动效果代码,需要的朋友可以参考下. 以下代码,运行后,需要刷新下,才能加载jquery,要不然看不到效果.一.单行滚动效果 <!DOCTYPE ...

  3. CSS3手机端字体不能小于12号的方法

    CSS3手机端字体不能小于12号的方法 <pre> .xiaoyu12fontsize{ -webkit-transform-origin: 0% 0%; -webkit-transfor ...

  4. 手机端的tab切换,响应式切换效果

    之前写过这些tab切换的效果,无论网页上还是手机端,网上也有很多的例子,这个好像是我参考网上,也不知道是哪里的了.总结了一下,就当保存下来了把. <!DOCTYPE html > < ...

  5. fullpage 单屏高度超过屏幕高度,实现单屏内可以滚动并解决手机端单屏高度不正确的问题

    最近接触了好几次jquery.fullpage.js这个插件,实现整屏的滑动,效果很炫,用fullpage来实现也很简单,但是也碰到了一些问题和大家分享一下 1.单屏高度超过屏幕高度,实现单屏的滑动 ...

  6. css3制作惊艳hover切换效果

    css3制作经验hover切换效果 <!DOCTYPE html><html> <head> <meta charset="UTF-8" ...

  7. html手机端全屏显示和溢出问题

    <meta name="viewport" content="width=1200, initial-scale=0.3"> initial-sca ...

  8. 【CSS3】使用CSS3制作全屏切换效果

    在线演示: DEMO DEMO中及以下代码并没有写兼容代码,请使用高级浏览器打开,IE版本对CSS3支持并不太友好,IE11打开没有滚屏效果. 兼容代码前缀: -webkit- -moz- -o- - ...

  9. Html 全屏切换效果

    来源 http://www.imooc.com/learn/374 pageswitch.js (function ($) { var defaults = { 'container': '#cont ...

随机推荐

  1. mysql 从陌生到熟练之----数据库备份恢复的实现方法

    mysql 从陌生到熟练之----数据库备份恢复的实现方法 MySQL数据库使用命令行备份|MySQL数据库备份命令 例如: 数据库地址:127.0.0.1 数据库用户名:root 数据库密码:roo ...

  2. Python学习记录4(语句)

    赋值语句 序列解包 条件语句 语句块 布尔变量 条件执行和if语句 条件运算符 循环 while语句 for循环 迭代工具 跳出循环 break continue while truebreak语句 ...

  3. postman测试传入json

  4. Ubuntu 16.04系统安装步骤

    1.安装系统 2.设置更新源,自动检测最优更新源 3.关闭自动更新 4.设置终端样式 5.设置终端快捷键 6.安装vim,配置.vimrc 7.修改.bashrc第62行,小写w为大写W,设置终端不显 ...

  5. LeetCode(292) Nim Game

    题目 You are playing the following Nim Game with your friend: There is a heap of stones on the table, ...

  6. 线段树: CDOJ1598-加帕里公园的friends(区间合并,单点更新)

    加帕里公园的friends Time Limit: 3000/1000MS (Java/Others) Memory Limit: 131072/131072KB (Java/Others) 我还有很 ...

  7. golang json 示例

    jsonStr, err := client.Get( deviceIdKey ).Result() if err == redis.Nil { deviceIds = []string{device ...

  8. dubbo Protocol实现剖析

    title: dubbo Protocol实现剖析 date: 2018-09-09 19:10:07 tags: --- 2.6.3版本,之前读的是2.4.9版本 本篇主要阐述dubbo rpc的c ...

  9. python - 读取配置文件

    # -*- coding:utf-8 -*- ''' @project: jiaxy @author: Jimmy @file: read_config.py @ide: PyCharm Commun ...

  10. day04_08 while循环02

    练习题: 1.输出九九乘法表 2.使用#号输出一个长方形,用户可以指定宽和高,如果长为3,高为4,则输出一个 横着有3个#号,竖着有4个#号 的长方形. 3.如何输出一个如下的直角三角形,用户指定输出 ...