摘要:动画前言最近玩了玩用来构建效果,写了几个,所以博客总结一下。写一个简单的立方体我们先用实现一个长方体,一个长方体有个边,我们写个,并用一个包裹起来根据我写动画的经验,最好有一个父元素来包裹先给设置宽高,并且给他设置视距和基点位置。
css3D动画 前言
最近玩了玩用css来构建3D效果,写了几个demo,所以博客总结一下。 在阅读这篇博客之前,请先自行了解一下css 3D的属性,例如:transform-style,transform-origin,transform, perspective。
写一个简单的立方体
1、我们先用css实现一个长方体,一个长方体有6个边,我们写6个li,并用一个ul包裹起来,根据我写3D动画的经验,最好有一个父元素来包裹2、先给.parent设置宽高,并且给他设置视距和基点位置。
- 1
- 2
- 3
- 4
- 5
- 6
.parent{
width: 800px;
height: 400px;
border: 1px solid #000;
margin: 0 auto;
perspective: 2000px;
perspective-origin: -40% -80%;
background: #000;
}
3、给ul设置宽高以及preserve-3d属性保留子元素3d转换,子元素li全部绝对定位
ul{
width: 50px;
position: relative;
margin: 100px auto;
transform-style : preserve-3d;
}
li{
width: 100px;
height: 100px;
background: rgba(255, 255, 0, 0.3);
position: absolute;
text-align: center;
border: 3px solid greenyellow;
}
效果如下图所示:
li:nth-child(1){
background: rgba(255, 255, 0, 0.3);
transform: translateY(50px) rotateX(90deg);
}
效果如下图所示:
/*上面*/
li:nth-child(1){
transform: translateY(-50px) rotateX(90deg);
}
/*下面*/
li:nth-child(2){
transform: translateY(50px) rotateX(90deg);
}
/*左面*/
li:nth-child(3){
transform: translateX(-50px) rotateY(90deg);
}
/*右面*/
li:nth-child(4){
transform: translateX(50px) rotateY(90deg);
}
/*前面*/
li:nth-child(5){
transform: translateZ(50px);
}
/*后面*/
li:nth-child(6){
transform: translateZ(-50px);
}
效果如下图所示:
代码如下:
书页2
效果如下图:
代码如下:
立方体
效果如下图:
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/113708.html
摘要:前言本篇文章给大家带来的内容是关于实现动画特效的代码实例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 前言 本篇文章给大家带来的内容是关于css实现3d动画特效的代码实例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 属性 perspective :透距离,单位像素(值越小,透视距离越近,效果越明显):设置父元素上 perspective-orig...
摘要:超过的星星,是一个动画库,可以处理属性,单个转换,或任何属性以及对象。超过星星,这个动画库大小只有。超过星星,这个库基允许你以选定的速度为字符串创建打字动画。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 1.Three.js showImg(https://segmentfault.com/img/bVbkQ4X?w=551&h=358); 超过46K的星星,...
阅读 2911·2021-11-24 09:38
阅读 2087·2019-08-30 15:53
阅读 1499·2019-08-30 15:44
阅读 3338·2019-08-30 14:10
阅读 3731·2019-08-29 16:29
阅读 1929·2019-08-29 16:23
阅读 1212·2019-08-29 16:20
阅读 1590·2019-08-29 11:13