translate三维坐标图:
rotate判断:
正向轴对着眼睛,顺时针则旋转角度为正,逆时针则旋转角度为负。
或者用左手法则也行:伸出左手,大拇指指向正轴方向,四个手指的指向即是旋转正向,但务必记住是左手!
注:rotate后三维坐标轴也会跟着改变
例——正方体相册
效果:
html:
旋转立方体相册
1.css:
* {
padding: 0;
margin: 0;
}
body {
width: 100%;
height: 100%;
perspective: 500px;//元素被查看位置的视图,值越大,代表“眼睛离观察物越远”,值越小,代表“眼睛越靠近观察物”
background: linear-gradient(darkred 0%, black 100%);
}
#react {
width: 200px;
height: 200px;
margin: 200px auto;
transform-style: preserve-3d;//支持3d图像显示
animation: rotate 20s infinite;
animation-timing-function: linear;
}
#react div {
position: absolute;
transition: all .4s;
}
div .out_pic {
width: 200px;
height: 200px;
opacity: 0.9;
}
div .in_pic {
width: 100px;
height: 100px;
}
#react span {
display: block;
position: absolute;
width: 100px;
height: 100px;
top: 50px;
left: 50px;
}
@keyframes rotate {
from {
transform: rotateX(0deg) rotateY(0deg);
}
to {
transform: rotateX(360deg) rotateY(360deg);
}
}
.out_front {
transform: translateZ(100px);
}
.out_back {
transform: translateZ(-100px);
}
.out_left {
transform: rotateY(90deg) translateZ(100px);
}
.out_right {
transform: rotateY(-90deg) translateZ(100px);
}
.out_top {
transform: rotateX(90deg) translateZ(100px);
}
.out_bottom {
transform: rotateX(-90deg) translateZ(100px);
}
.in_front {
transform: translateZ(50px);
}
.in_back {
transform: translateZ(-50px);
}
.in_left {
transform: rotateY(90deg) translateZ(50px);
}
.in_right {
transform: rotateY(-90deg) translateZ(50px);
}
.in_top {
transform: rotateX(90deg) translateZ(50px);
}
.in_bottom {
transform: rotateX(-90deg) translateZ(50px);
}
/*外面的图片散开*/
#react:hover .out_front {
transform: translateZ(200px);
}
#react:hover .out_back {
transform: translateZ(-200px);
}
#react:hover .out_left {
transform: rotateY(90deg) translateZ(200px);
}
#react:hover .out_right {
transform: rotateY(-90deg) translateZ(200px);
}
#react:hover .out_top {
transform: rotateX(90deg) translateZ(200px);
}
#react:hover .out_bottom {
transform: rotateX(-90deg) translateZ(200px);
}
/*里面的图片散开*/
#react:hover .in_front {
transform: translateZ(100px);
}
#react:hover .in_back {
transform: translateZ(-100px);
}
#react:hover .in_left {
transform: rotateY(90deg) translateZ(100px);
}
#react:hover .in_right {
transform: rotateY(-90deg) translateZ(100px);
}
#react:hover .in_top {
transform: rotateX(90deg) translateZ(100px);
}
#react:hover .in_bottom {
transform: rotateX(-90deg) translateZ(100px);
}
iOS 2D绘图详解(Quartz 2D)之Transform(CTM,Translate,Rotate,Scale)
前言:Quartz默认采用设备无关的user space来进行绘图,当context(画板)建立之后,默认的坐标系原点以及方向也就确认了,可以通过CTM(current transformation ...
CSS学习笔记2-2d变换和过渡属性
前言:今天又是一个周末,心情不错,趁着闲暇之余,把剩下来的CSS3学习的内容全部整理出来,练习用的源码也稍微整理了一下. 2D转换 transform:translate||rotate||scale ...
css属性的选择对动画性能的影响
现在手机的占比越来越高,各种酷炫页面层出不穷,这些特效都离不开css动画.说到css动画,主流的情况也就无非这两大类:位移和形变.而我们在写一个动画特效的过程中,如何去提升它的性能呢?当然首先我们需要 ...
canvas/CSS实现仪表盘效果
手机上看比较虚
CSS 实现加载动画之一-菊花旋转
最近打算整理几个动画样式,最常见的就是我们用到的加载动画.加载动画的效果处理的好,会给页面带来画龙点睛的作用,而使用户愿意去等待.而页面中最常用的做法是把动画做成gif格式,当做背景图或是img标签来 ...
css知识总结
---# 学习目标:> 1. 学会使用CSS选择器> 2. 熟记CSS样式和外观属性> 3. 熟练掌握CSS各种选择器> 4. 熟练掌握CSS各种选择器> 5. 熟练掌握 ...
前端性能优化(css动画篇)
正巧看到在送书,于是乎找了找自己博客上记录过的一些东西来及其无耻的蹭书了~~~ 小广告:更多内容可以看我的博客 最近拜读了一下html5rocks上几位大神写的一篇关于CSS3动画性能优化的文章,学到 ...
canvas/CSS仪表盘效果
...随机推荐
C#-WebForm-WebForm开发基础、如何给控件注册事件?——事件委托写法、http无状态性、三层结构
(小知识 - xml:可扩展的标记语言 html:超文本标记语言) 一.创建WebForm:新建→网站 此时文件夹中只有一个 config 文件,打开后 二.在项目下右键添加新项 在设计页面中打开 从 ...
C++基础练习题(一): 查找最短单词
/* 编程实现将字符串中最短的单词输出,在主函数中输入字符串,编写一个函数完成最短单词的查找 说明>*/ #include #inclu ...
编译过程中,termcap.h 文件找不到路径 licli.a终于生成
编译过程中,termcap.h 文件找不到路径 查看是linux 源码下找不到termcap.h文件 安装了所有关于*cap*的源码包也不起作用 今天终于解决了这个问题,搜 ...
PHP基础 CGI,FastCGI,PHP-CGI与PHP-FPM
CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. CGI可以用任何一 ...
selinux理解1-selinux介绍
安全增强式Linux(SELinux, Security-Enhanced Linux)是一种强制访问控制(mandatory access control)的实现.它的作法是以最小权限原则(prin ...
vlc_input buffer管理 &; 时钟同步(转)
vlc_input buffer管理 & 时钟同步 一.背景1.当播放网络视频流时(比如udp视频流),发送方(编码)和接收方(解码)是并行操作的,如果发送太慢(或因为网络原因出现延迟)的话, ...
CodeForces 146E - Lucky Subsequence DP+扩展欧几里德求逆元
题意: 一个数只含有4,7就是lucky数...现在有一串长度为n的数...问这列数有多少个长度为k子串..这些子串不含两个相同的lucky数... 子串的定义..是从这列数中选出的数..只要序号不同 ...
根据XPATH去查看修改xml文件节点的内容
首先给出xml文件解析的路径,然后去读取节点的内容. package com.inetpsa.eqc.threads; import java.util.List; import java.io.Fi ...
Codeforces#355
大小号刷题,大号,被查重,悲剧,最后小号过了3题 A题: 分析:大于h的+2,小于等于h的+1 #include #include #i ...