参考:https://www.cnblogs.com/zhangnan35/p/10709876.html

   https://www.cnblogs.com/zyrblog/p/11142624.html

translate三维坐标图:

rotate判断:

  正向轴对着眼睛,顺时针则旋转角度为正,逆时针则旋转角度为负。

  或者用左手法则也行:伸出左手,大拇指指向正轴方向,四个手指的指向即是旋转正向,但务必记住是左手!

注:rotate后三维坐标轴也会跟着改变

例——正方体相册

效果:

html:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<link type="text/css" href="css/1.css" rel="stylesheet ">
<title>旋转立方体相册</title>
</head>
<body>
<div id="react">
<div class="out_front">
<img src="img/1.jpg" class="out_pic">
</div>
<div class="out_back">
<img src="img/2.jpg" class="out_pic">
</div>
<div class="out_left">
<img src="img/3.jpg" class="out_pic">
</div>
<div class="out_right">
<img src="img/4.jpg" class="out_pic">
</div>
<div class="out_top">
<img src="img/5.jpg" class="out_pic">
</div>
<div class="out_bottom">
<img src="img/1.jpg" class="out_pic">
</div>
<span class="in_front">
<img src="img/2.jpg" class="in_pic">
</span>
<span class="in_back">
<img src="img/3.jpg" class="in_pic">
</span>
<span class="in_left">
<img src="img/4.jpg" class="in_pic">
</span>
<span class="in_right">
<img src="img/5.jpg" class="in_pic">
</span>
<span class="in_top">
<img src="img/1.jpg" class="in_pic">
</span>
<span class="in_bottom">
<img src="img/2.jpg" class="in_pic">
</span>
</div>
</body>
</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);
}

css translate/rotate 空间坐标轴的更多相关文章

  1. HTML5 Canvas ( 图形变换, 升级版的星空 ) translate, rotate, scale

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. iOS 2D绘图详解(Quartz 2D)之Transform(CTM,Translate,Rotate,Scale)

    前言:Quartz默认采用设备无关的user space来进行绘图,当context(画板)建立之后,默认的坐标系原点以及方向也就确认了,可以通过CTM(current transformation ...

  3. CSS学习笔记2-2d变换和过渡属性

    前言:今天又是一个周末,心情不错,趁着闲暇之余,把剩下来的CSS3学习的内容全部整理出来,练习用的源码也稍微整理了一下. 2D转换 transform:translate||rotate||scale ...

  4. css属性的选择对动画性能的影响

    现在手机的占比越来越高,各种酷炫页面层出不穷,这些特效都离不开css动画.说到css动画,主流的情况也就无非这两大类:位移和形变.而我们在写一个动画特效的过程中,如何去提升它的性能呢?当然首先我们需要 ...

  5. canvas/CSS实现仪表盘效果

    手机上看比较虚 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  6. CSS 实现加载动画之一-菊花旋转

    最近打算整理几个动画样式,最常见的就是我们用到的加载动画.加载动画的效果处理的好,会给页面带来画龙点睛的作用,而使用户愿意去等待.而页面中最常用的做法是把动画做成gif格式,当做背景图或是img标签来 ...

  7. css知识总结

    ---# 学习目标:> 1. 学会使用CSS选择器> 2. 熟记CSS样式和外观属性> 3. 熟练掌握CSS各种选择器> 4. 熟练掌握CSS各种选择器> 5. 熟练掌握 ...

  8. 前端性能优化(css动画篇)

    正巧看到在送书,于是乎找了找自己博客上记录过的一些东西来及其无耻的蹭书了~~~ 小广告:更多内容可以看我的博客 最近拜读了一下html5rocks上几位大神写的一篇关于CSS3动画性能优化的文章,学到 ...

  9. canvas/CSS仪表盘效果

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. Springboot+mybatis+dbcp+mysql简单集成

    1.添加依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>m ...

  2. leetcode.数组.565数组嵌套-Java

    1. 具体题目 索引从0开始长度为N的数组A,包含0到N - 1的所有整数.找到并返回最大的集合S,S[i] = {A[i], A[A[i]], A[A[A[i]]], ... }且遵守以下的规则.假 ...

  3. c# 盖尔-沙普利算法的改进

    盖尔-沙普利算法 “盖尔-沙普利算法”(the Gale-Shapley algorithm),也被称为“延迟接受算法”(deferred-acceptance algorithm),简称“GS算法” ...

  4. JUnit中Assert简单介绍

    junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类.1.assertTrue/False([String message,]boolean condi ...

  5. LLppdd never give up!

    LLppdd never give up! Time Limit: 1 s Memory Limit: 256 MB 题目背景 LLppdd是个被毒害的小朋友,他的初中生涯充满了坎坷. 直到初三的某一 ...

  6. Html5介绍及新增标签

    什么是 HTML5? HTML5 将成为 HTML.XHTML 以及 HTML DOM 的新标准. HTML 的上一个版本诞生于 1999 年.自从那以后,Web 世界已经经历了巨变. HTML5 仍 ...

  7. LeetCode Array Easy 27. Remove Element 解题

    Given an array nums and a value val, remove all instances of that value in-place and return the new ...

  8. adb 提示adb server version(31) doesn't match this client(40) 解决办法

    有时候我们用adb工具去连接安卓设备,或者模拟器的时候,会提示adb server version(31) doesn't match this client(40)这样的提示.如图 提示的字面意思就 ...

  9. Tensorflow的基础用法

    简介 Tensorflow是一个深度学习框架,它使用图(graph)来表示计算任务,使用tensor(张量)表示数据,图中的节点称为OP,在一个会话(Session)的上下文中执行运算,最终产生ten ...

  10. 多线程用this指针来传递参数(整理)

    整理自CSDN的论坛中,地址:https://bbs.csdn.net/topics/390703249 1.不同的线程不是两个独立的程序:线程不是进程(process是你说的程序) 2.线程函数必须 ...