CSS3制作3D立方体loading特效


Posted in HTML / CSS onNovember 09, 2020

简要说明

这是一款css3炫酷3D立方体预加载loading特效。该特效通过简单的HTML元素和CSS3代码,构建几个立方体不停运动的动画特效,适用于做页面的loading效果。

CSS3制作3D立方体loading特效

代码解析

在HTML文件中引入下面的文件。

<link rel="stylesheet" type="text/css" href="css/bootstrap-grid.min.css" />

HTML结构

<div class="demo" style="min-height:350px;">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="loader">
<div class="box">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
<div class="box">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
<div class="box">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
<div class="box">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
</div>
</div>
</div>
</div>
</div>

css样式

.loader{
                    --size: 32px;
                    --duration: 800ms;
                    width: 96px;
                    height: 64px;
                    margin: 50px auto;
                    transform-style: preserve-3d;
                    transform-origin: 50% 50%;
                    transform: rotateX(60deg) rotateZ(45deg) rotateY(0deg) translateZ(0px);
                    position: relative;
                }
                .loader .box{
                    width:  32px;
                    height: 32px;
                    transform-style: preserve-3d;
                    position: absolute;
                    top: 0;
                    left: 0;
                }
                .loader .box:nth-child(1){
                    transform: translate(100%, 0);
                    animation: box1 800ms linear infinite;
                }
                .loader .box:nth-child(2){
                    transform: translate(0, 100%);
                    animation: box2 800ms linear infinite;
                }
                .loader .box:nth-child(3){
                    transform: translate(100%, 100%);
                    animation: box3 800ms linear infinite;
                }
                .loader .box:nth-child(4){
                    transform: translate(200%, 0);
                    animation: box4 800ms linear infinite;
                }
                .loader .box > div{
                    --translateZ: calc(var(--size) / 2);
                    --rotateY: 0deg;
                    --rotateX: 0deg;
                    background: #5c8df6;
                    width: 100%;
                    height: 100%;
                    transform: rotateY(var(--rotateY)) rotateX(var(--rotateX)) translateZ(var(--translateZ));
                    position: absolute;
                    top: auto;
                    right: auto;
                    bottom: auto;
                    left: auto;
                }
                .loader .box > div:nth-child(1){
                    top: 0;
                    left: 0;
                }
                .loader .box > div:nth-child(2){
                    background: #145af2;
                    right: 0;
                    --rotateY: 90deg;
                }
                .loader .box > div:nth-child(3){
                    background: #447cf5;
                    --rotateX: -90deg;
                }
                .loader .box > div:nth-child(4){
                    background: #dbe3f4;
                    top: 0;
                    left: 0;
                    --translateZ: calc(var(--size) * 3 * -1);
                }
                @keyframes box1{
                    0%, 50%{ transform: translate(100%, 0); }
                    100%{ transform: translate(200%, 0); }
                }
                @keyframes box2{
                    0%{ transform: translate(0, 100%); }
                    50%{ transform: translate(0, 0); }
                    100%{ transform: translate(100%, 0); }
                }
                @keyframes box3{
                    0%, 50%{ transform: translate(100%, 100%); }
                    100%{ transform: translate(0, 100%); }
                }
                @keyframes box4{
                    0%{ transform: translate(200%, 0); }
                    50%{ transform: translate(200%, 100%); }
                    100%{ transform: translate(100%, 100%); }
                }

以上就是CSS3制作3D立方体loading特效的详细内容,更多关于CSS3 loading特效的资料请关注三水点靠木其它相关文章!

HTML / CSS 相关文章推荐
用CSS禁用输入法(CSS3 UI规范)实例解析
Dec 04 HTML / CSS
css 元素选择器的简单实例
May 23 HTML / CSS
巧用CSS3的calc()宽度计算做响应模式布局的方法
Mar 22 HTML / CSS
html5 更新图片颜色示例代码
Jul 29 HTML / CSS
HTML5地理定位实例
Oct 15 HTML / CSS
实例讲解HTML5的meta标签的一些应用
Dec 08 HTML / CSS
从零实现一个自定义html5播放器的示例代码
Aug 01 HTML / CSS
html5+css如何实现中间大两头小的轮播效果
Dec 06 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
Dec 03 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
Dec 16 HTML / CSS
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
Oct 16 HTML / CSS
HTML CSS 一个标签实现带动画的抖音LOGO
Apr 26 HTML / CSS
CSS3实现莲花绽放的动画效果
Nov 06 #HTML / CSS
CSS3制作圆形滚动进度条动画的示例
Nov 05 #HTML / CSS
CSS实现进度条和订单进度条的示例
Nov 05 #HTML / CSS
一篇文章带你学习CSS3图片边框
Nov 04 #HTML / CSS
CSS3实现时间轴特效
Nov 02 #HTML / CSS
CSS3制作皮卡丘动画壁纸的示例
Nov 02 #HTML / CSS
详解background属性的8个属性值(面试题)
Nov 02 #HTML / CSS
You might like
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
JS hashMap实例详解
2016/05/26 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
详解Python中for循环的使用方法
2015/05/14 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
python最长回文串算法
2018/06/04 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
python全局变量引用与修改过程解析
2020/01/07 Python
将自己的数据集制作成TFRecord格式教程
2020/02/17 Python
Python实现井字棋小游戏
2020/03/09 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
雷蛇美国官网:Razer
2020/04/03 全球购物
高中政治教学反思
2014/01/18 职场文书
《小草和大树》教学反思
2014/02/16 职场文书
家长会欢迎标语
2014/06/24 职场文书
质量主管工作职责
2014/09/26 职场文书
比赛主持人开场白
2015/05/29 职场文书
创业计划书之酒厂
2019/10/14 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
Python字典的基础操作
2021/11/01 Python
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js