html + css 01: 3d立方体
html + css实现3d立方体
css代码
/*页面背景色*/
body{
background-color: black;
background-repeat:no-repeat;
}
/********************** 双层3D立方体 *********************/
/*最外层容器*/
.wrap{
margin: 360px;
left: 80px;
width: 200px;
height: 200px;
position: relative;
/*3D模式展示*/
transform-style: preserve-3d;
/*引入动画:动画名称 展示时间 循环展示*/
animation: rotate 150s infinite;
/*匀速展示*/
animation-timing-function: linear;
}
/**************************** 设置内层立方体组件的属性 ****************************/
/* 设置内部组件属性 */
.wrap span{
display: block;
position: absolute;
width: 200px;
height: 200px;
top: 0;
left: 0;
/*透明度*/
/*opacity: 0.8;*/
}
/*内部正方形旋转平移 组装成内部立方体*/
.i-top{
transform: rotateX(90deg) translateZ(100px);
background-image: url("../resources/images/xinhaicheng/i6.png");
}
.i-bottom{
transform: rotateX(90deg) translateZ(-100px);
background-image: url("../resources/images/xinhaicheng/i2.png");
}
.i-right{
transform: rotateY(90deg) translateZ(100px);
background-image: url("../resources/images/xinhaicheng/i1.png");
}
.i-left{
transform: rotateY(90deg) translateZ(-100px);
background-image: url("../resources/images/xinhaicheng/i5.jpeg");
}
.i-front{
transform: translateZ(100px);
background-image: url("../resources/images/xinhaicheng/i3.png");
}
.i-back{
transform: translateZ(-100px);
background-image: url("../resources/images/xinhaicheng/i4.png");
}
/*具体动画效果,由关键帧来刻画*/
@keyframes rotate{
/*开始*/
0%{
transform: rotateX(0deg) rotateY(0deg);
}
/*中间*/
50%{
transform: rotateY(360deg) rotateX(-90deg);
}
/*结束*/
100%{
transform: rotateX(0deg) rotateY(0deg);
}
}
/*************************** 设置外层立方体属性 ********************/
/* 设置外部组件属性 */
.wrap div{
width: 200px;
height: 200px;
position: absolute;
/*透明度*/
opacity: 0.9;
/*外部组件打开效果所用的时间*/
transition: all 1s;
}
/*外部正方形旋转平移 组装成外部立方体*/
.o-top{
transform: rotateX(90deg) translateZ(100px);
background-image: url("../resources/images/xinhaicheng/o2.jpg");
}
.o-bottom{
transform: rotateX(90deg) translateZ(-100px);
background-image: url("../resources/images/xinhaicheng/o5.jpg");
}
.o-right{
transform: rotateY(90deg) translateZ(100px);
background-image: url("../resources/images/xinhaicheng/o4.jpeg");
}
.o-left{
transform: rotateY(90deg) translateZ(-100px);
background-image: url("../resources/images/xinhaicheng/o3.jpg");
}
.o-front{
transform: translateZ(100px);
background-image: url("../resources/images/xinhaicheng/o6.jpeg");
}
.o-back{
transform: translateZ(-100px);
background-image: url("../resources/images/xinhaicheng/o1.png");
}
/*打开效果*/
.wrap:hover .o-bottom{
transform: rotateX(90deg) translateZ(-250px);
}
.wrap:hover .o-top{
transform: rotateX(90deg) translateZ(250px);
}
.wrap:hover .o-left{
transform: rotateY(90deg) translateZ(-250px);
}
.wrap:hover .o-right{
transform: rotateY(90deg) translateZ(250px);
}
.wrap:hover .o-front{
transform: translateZ(250px);
}
.wrap:hover .o-back{
transform: translateZ(-250px);
}
html代码
<!-- 准备一个容器 -->
<div class="wrap">
<!-- 创建内部立方体组件 -->
<span class="i-front"></span>
<span class="i-back"></span>
<span class="i-left"></span>
<span class="i-right"></span>
<span class="i-top"></span>
<span class="i-bottom"></span>
<!-- 创建外部立方体组件 -->
<div class="o-front"></div>
<div class="o-back"></div>
<div class="o-left"></div>
<div class="o-right"></div>
<div class="o-top"></div>
<div class="o-bottom"></div>
</div>
html + css 01: 3d立方体的更多相关文章
- 纯CSS绘制3D立方体
本篇记录的是使用CSS3绘制3D立方体,并旋转起来. 我的思路: 1️⃣ 首先,用div元素画6个正方形摞在一起放在画布中间.为了区分,分别给每个div选择了不同的颜色,并且设置为半透明方便透视. 2 ...
- 用css实现3D立方体旋转特效
先来看运行后出来的效果 它是在不停运行的一个立方体 先来看html部分的代码 <div class="rect-wrap"> <!--舞台元素,设置perspec ...
- css实现3D立方体旋转特效
先来看运行后出来的效果 它是在不停运行的一个立方体 先来看html部分的代码 <div class="rect-wrap"> <!--舞台元素,设置perspec ...
- CSS动画实例:3D立方体
CSS3支持3D转换,与3D转换有关的属性有: transform:向元素应用 2D或3D 转换. transform-origin:改变被转换元素的位置. transform-style:规定被嵌套 ...
- CSS3 3D立方体效果-transform也不过如此
CSS3系列已经学习了一段时间了,第一篇文章写了一些css3的奇技淫巧,原文戳这里,还获得了较多网友的支持,在此谢过各位,你们的支持是我写文章最大的动力^_^. 那么这一篇文章呢,主要是通过一个3D立 ...
- css3-实现3D立方体旋转
核心内容: 1.CSS3 中 animation.perspective 属性的熟练运用. 2.CSS3 中的变形属性 transform,在 3D 立体效果中的运用. 3.3D 立方体旋转实现原理. ...
- 基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
基于css3新属性transform,实现3d立方体的旋转 通过原生JS,点击事件,鼠标按下.鼠标抬起和鼠标移动事件,实现3d立方体的拖动旋转,并将旋转角度实时的反应至界面上显示 实现原理:通过获取鼠 ...
- css3实践—创建3D立方体
css3实践-创建3D立方体 要想实现3D的效果,其实非常简单,只需指定一个元素为容器并设置transform-style:preserve-3d,那么它的后代元素便会有3D效果.不过有很多需要注意的 ...
- 仿智能社官网:原生JS实现简单又酷炫的3D立方体时钟
先放一下我做的效果:https://linrunzheng.github.io/3Dclock/3Dclock/new.html 至于3D立方体怎么做这里就不在阐述了,可以看一下我之前的博客. 这里默 ...
随机推荐
- 【HarmonyOS学习笔记】Slider组件实现图形可调旋转
哈喽大家好我是厚脸皮的小威 之前刚刚用华为的IDE跑通"HELLO,WORLD" 趁热又想去试试看跑一下基于TS拓展API接口的Slider组件,去实现图片的放大和缩小 凭借着大学 ...
- 管家婆财贸ERP系列功能对比财贸c3-c8-c9功能对比介绍
管家婆财贸ERP系列功能对比财贸c3-c8-c9功能对比介绍 管家婆财贸ERP产品功能 序号 名称 说明 一 采购管理 对日常订货.入库.退货.估价入库等业务进行处理,多种方便灵活的订单定制方式,实现 ...
- drools规则属性(rule attributes)的使用
一.介绍 规则属性是您可以添加到业务规则以修改规则行为的附加规范. 在 DRL 文件中,您通常在规则条件和操作的上方定义规则属性,多个属性位于单独的行中,格式如下: rule "rule_n ...
- 无线:NB-IoT
一. NB总体网络架构 NB-IoT端到端系统架构如下图所示: 终端:UE(User Equipment),通过空口连接到基站(eNodeB(evolved Node B , E-UTRAN 基站)) ...
- 「JOISC 2019 Day4」蛋糕拼接 3
loj 3039 NKOJ Description \(n\)个蛋糕,每个蛋糕有\(w_i,h_i\).选\(m\)个蛋糕满足\(\sum\limits_{j=1}^mw_{k_j}-\sum\lim ...
- Codeforces Round #773 (Div. 2)
这一场打的非常一般,不过把D想出来了(当然只剩10min没有写出来). A.Hard Way 题意:(很怪的题,我读题读半天)给你一个三角形(端点都在整数点上),问从x轴往上划线(不一定垂直)画不到的 ...
- Redis集群搭建 三主三从 docker版 急速搭建
最近学习了docker 发现使用docker搭建一个redis非常的简单接下来就是搭建步骤 1.首先清空一下容器 #清空所有容器docker rm -f $(docker ps -aq) 2.然后创 ...
- 《C Primer Plus》第六版笔记--1~3章
目录 第一章 初识C语言 1 使用C语言的7个步骤 1.1 定义程序目标 1.2 设计程序(功能实现) 1.3 编写代码 1.4 编译 1.5 运行程序 1.6 测试和调试程序 1.7 维护和修改代码 ...
- Vmware虚拟机安装及相关配置流程
1.Vmware虚拟软件安装 1.1下载地址 vmware 12 pro 的版本稳定性较好,所有我们最好选择该版本 下载地址:https://www.onlinedown.net/soft/10053 ...
- 数据库常用DDL语句
一.创建表 CREATE TABLE TABLE_NAME( #create table 表名 ID INT(4) PRIMARY KEY, #字段名 数据类型 完整性约束条件 NAME VARCHA ...