No.5 - 纯 CSS 制作绕中轴旋转的立方体
- body{
- background-color: #000;
- margin:;
- padding:;
- }
- main{
- perspective: 800px;
- }
- .cube{
- transform-style: preserve-3d;
- position: relative;
- margin: 200px auto 0px;
- width: 400px;
- height: 400px;
- animation: spin 8s linear infinite;
- animation-play-state: paused;
- }
- .cube>div{
- background-color: blue;
- opacity: 0.3;
- position: absolute;
- outline: 3px solid #0af;
- width: 400px;
- height:400px;
- }
- .cube>div:nth-child(1){
- transform: translateZ(200px);
- }
- .cube>div:nth-child(2){
- transform: rotateY(180deg) translateZ(200px);
- }
- .cube>div:nth-child(3){
- transform: rotateY(90deg) translateZ(200px);
- }
- .cube>div:nth-child(4){
- transform: rotateY(-90deg) translateZ(200px);
- }
- .cube>div:nth-child(5){
- transform: rotateX(90deg) translateZ(200px);
- }
- .cube>div:nth-child(6){
- transform: rotateX(-90deg) translateZ(200px);
- }
- @keyframes spin{
- 100%{transform: rotateY(-360deg);}
- }
- .cube:hover{
- animation-play-state: running;
- }
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>纯 CSS 制作绕中轴旋转的立方体</title>
- <link rel="stylesheet" href="style.css">
- </head>
- <body>
- <main>
- <div class="cube">
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- </div>
- </main>
- </body>
- </html>
划重点
①给多个元素absolute形成重叠
②transform: rotateY(180deg) translateZ(200px);和transform: translateZ(200px) rotateY(180deg);
先后的不同,有巨大区别!
- .cube>div:nth-child(1){
- transform: translateZ(200px);
- }
- .cube>div:nth-child(2){
- transform: rotateY(180deg) translateZ(200px);
- }
- .cube>div:nth-child(3){
- transform: rotateY(90deg) translateZ(200px);
- }
- .cube>div:nth-child(4){
- transform: rotateY(-90deg) translateZ(200px);
- }
- .cube>div:nth-child(5){
- transform: rotateX(90deg) translateZ(200px);
- }
- .cube>div:nth-child(6){
- transform: rotateX(-90deg) translateZ(200px);
- }
先在中点进行旋转,随后分别向各自变化后的Z方向推进200px;
而不是集体推进200px后在中点进行旋转。
③margin:200px auto 0px;
④3D舞台元素对视角的作用决定性(一个类似body的大背景座位舞台元素起到对屏幕更真实的效果)
⑤
- animation: name duration timing-function delay iteration-count direction;
animation-play-state: paused;
animation-play-state: running;
- @keyframes myfirst
- {
- 0% {background: red; left:0px; top:0px;}
- 25% {background: yellow; left:200px; top:0px;}
- 50% {background: blue; left:200px; top:200px;}
- 75% {background: green; left:0px; top:200px;}
- 100% {background: red; left:0px; top:0px;}
- }
- .cube:hover{
- animation-play-state: running;
- }
No.5 - 纯 CSS 制作绕中轴旋转的立方体的更多相关文章
- 如何使用纯CSS制作特效导航条?
先上张图,如何使用纯 CSS 制作如下效果? 在继续阅读下文之前,你可以先缓一缓.尝试思考一下上面的效果或者动手尝试一下,不借助 JS ,能否巧妙的实现上述效果. OK,继续.这个效果是我在业务开发的 ...
- 纯CSS制作水平垂直居中“十字架”
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 纯CSS制作三角(转)
原原文地址:http://www.w3cplus.com/code/303.html 原文地址:http://blog.csdn.net/dyllove98/article/details/89670 ...
- 如何使用纯 CSS 制作四子连珠游戏
序言:你是否想过单纯使用 CSS 也可以制作一款游戏?甚至可以双人对决!这是一篇非常有趣的文章,作者详细讲解了使用纯 CSS 制作四子连珠游戏的思路以及使用奇淫巧技解决困难问题的方法.因为案例本身比较 ...
- 2.纯 CSS 创作一个矩形旋转 loader 特效
原文地址:2.纯 CSS 创作一个矩形旋转 loader 特效 扩展后地址:https://scrimba.com/c/cNJVWUR 扩展地址:https://codepen.io/pen/ HT ...
- 纯CSS制作空心三角形和实心三角形及其实现原理
纯CSS制作空心三角形和实心三角形及其实现原理 在一次项目中需要使用到空心三角形,我瞬间懵逼了.查阅了一些资料加上自己的分析思考,终于是达到了效果,个人感觉制作三角形是使用频率很高的,因此记录下来,供 ...
- 每日CSS_纯CSS制作进度条
每日CSS_纯CSS制作进度条 2020_12_26 源码 1. 代码解析 1.1 html 代码解析 设置整个容器 <div class="container"> . ...
- 纯CSS制作加<div>制作动画版哆啦A梦
纯CSS代码加上<div>制作动画版哆啦A梦(机器猫) 哆啦A梦(机器猫)我们大家一定都很熟悉,今天给大家演示怎么用纯CSS代码,来做一个动画版的哆啦A梦. 效果图: ###下面代码同学可 ...
- 纯CSS制作冒泡提示框
来源:http://www.ido321.com/1214.html 前两天翻译了一篇文章,关于利用css的border属性制作基本图形:http://www.ido321.com/1200.html ...
随机推荐
- Class类文件结构简介
Java跨平台的基础 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础.Java虚拟机不和包括Java在内的任何语言绑定 ...
- 简单介绍aspose-words-18.10-jdk16做导出word
今天在搞那个用aspose words for java做导出word的功能,顺便简单介绍这个怎么用,我有两个版本的破解版,就都做简单介绍怎么用 警告:请勿用于商业用途,仅供学习研究使用,如有任何版权 ...
- 使用Tensorflow和MNIST识别自己手写的数字
#!/usr/bin/env python3 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data ...
- 中南月赛 B题 Scoop water
Problem B: Scoop water Time Limit: 2 Sec Memory Limit: 128 MBSubmit: 261 Solved: 57[Submit][Status ...
- oauth2.0授权协议
参考文章 一.OAuth是什么? OAuth的英文全称是Open Authorization,它是一种开放授权协议.OAuth目前共有2个版本,2007年12月的1.0版(之后有一个修正版1.0a)和 ...
- python单继沿用父类属性的两种方法
方法一 在子类中用父类调用其init方法(不建议) 方法二 在子类中使用super获得父类的方法 class Aaimal(object): type_name = '动物类' def __init_ ...
- POJ P2104 K-th Number
You are working for Macrohard company in data structures department. After failing your previous tas ...
- Linux VPS主机利用Crontab实现定时重启任务
第一.安装Crontab可执行环境 一般的VPS/服务器是支持的,但是有些可能没有支持就需要我们来给予安装. A - centos系统 #安装Crontab yum install vixie-cro ...
- 关于修改bug的思考
作者:朱金灿 来源:http://blog.csdn.net/clever101 有软件就有bug,这意味着软件研发不仅仅是新功能开发,更要拿出相当一部分精力去修改bug.但基本很多软件开发者并 ...
- axios 同步问题
Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中(这是官方文档给出的一个解释说明) 它的主要作用是向后台发起异步请求,还有在请求中做更多的可控功能 1. ...