网站首页 > 基础教程 正文
实现3d效果旋转跳跃的立方体,CSS3中具有的perspective就是为了设置井深,创建一个3D的环境,而transform-style就是为了创建3d环境。
井深:指视觉与平面的距离,使具有三维位置变换的元素产生透视效果,就是我们理解的【Z轴】。 从视觉上观察,值越大看起来距自己越近,元素整体越大;值越小,越远,元素整体越小。在设计中给需要3D的盒子的父级设置井深,让其具有立体透视效果 ,通常perspective使用的值800px或者1200px ,这两个值从视觉上看比较舒服,也可以根据需求自行设置。
首先,需要创建一个大盒子div将立方体包裹起来,以便在css样式中固定六个面的位置:
- <div class="wrap">
- <div class="cube">
- <div class="front">前</div>
- <div class="back">后</div>
- <div class="left">左</div>
- <div class="right">右</div>
- <div class="top">上</div>
- <div class="bottom">下</div>
- </div>
- </div>
在CSS中添加相关的样式如下:
- * {
- padding: 0px;
- margin: 0px;
- }
- .wrap{
- margin-top: 200px;
- margin-left: 500px;
- /*设置井深、透视*/
- perspective: 800px;
- /*视觉来源,透视效果*/
- perspective-origin: 50% 100px;
- }
- .cube{
- position: relative;
- width: 200px;
- /*创建3d环境*/
- transform-style: preserve-3d;
- }
- .cube div{
- position: absolute;
- width: 200px;
- height: 200px;
- /*添加内阴影*/
- box-shadow: 5px 5px 50px plum inset;
- border: 1px gainsboro solid;
- }
- /*旋转设置立方体的六个面*/
- .front {
- transform: translateZ(100px);
- }
- .back {
- transform: translateZ(-100px) rotateY(180deg);
- }
- .right {
- transform: rotateY(-270deg) translateX(100px);
- /*改变元素位置*/
- transform-origin: top right;
- }
- .left {
- transform: rotateY(270deg) translateX(-100px);
- transform-origin: center left;
- }
- .top {
- transform: rotateX(-90deg) translateY(-100px);
- transform-origin: top center;
- }
- .bottom {
- transform: rotateX(90deg) translateY(100px);
- transform-origin: bottom center;
- }
演示静态效果:
在CSS样式中添加动态效果:
- /*帧动画,旋转角度*/
- @keyframes spin {
- from { transform:rotateX(0) rotateY(0) rotateZ(0) ; }
- to { transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); }
- }
- /*旋转速度*/
- .cube {
- animation: spin 10s infinite linear;
- }
猜你喜欢
- 2024-10-10 让交互更加生动!有意思的鼠标跟随 3D 旋转动效
- 2024-10-10 「抖音最火」的3D旋转透视酷炫相册,如何用CSS3去实现
- 2024-10-10 纯CSS3实现旋转流星旋转光环效果 css旋转动画效果
- 2024-10-10 CSS3旋转实例学习(附3D旋转实例) css3实现360度旋转
- 2024-10-10 CSS3之日记翻页效果详解 日记翻页视频的模板
- 2024-10-10 如何使用纯CSS技术实现3D书本动态展示效果?
- 2024-10-10 CSS3之3D魔方鼠标控制酷炫效果 3d魔方代码
- 2024-10-10 CSS3专题(五)—实力宠粉,来了,来了,你们要的3D幻灯片来了
- 2024-10-10 css之3D效果——正方体 css正方体照片墙源码
- 2024-10-10 26.HTML 2D和3D变换 html2d旋转
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)