html 透视效果,HTML5实现立方体及透视效果

通过对于HTML5的学习,实现一个具有透视效果的立方体盒子:

0d0b3a6e59219d00434dd8f76b5ebe25.png

具体实现方法如下

我们需要先生成6个面,并添加样式

由于transform变换后会回到原始状态,因此必须添加3d变换效果

/*让子元素保留3d变换效果*/

transform-style: preserve-3d;

为了方便观看,再添加一个旋转效果

之后只需要将前后面分别平移,左右上下面移动再旋转就可以实现,比较重要的就是的注意旋转方向,根据左手定则而定。

3D坐标系

1e2239d92ad8ab0f33c872d201e59727.png

旋转的方向:(左手法则)

左手握住旋转轴,竖起拇指指向旋转轴的正方向,正向就是其余手指卷曲的方向。

所有的3d旋转,对着正方向去看,都是顺时针旋转。

透视效果

/*添加透视景深效果*/

perspective: 1px;

通过改变其值,我们可以看到一个从盒子内部视角到外部视角的效果。

/*设置透视的观察角度*/

perspective-origin: 0px 0px;

通过设置x点的值,可以实现左右视角观测立方体,设置y点的值,可以实现上下视角观测立方体,

立体盒子

.box{

height:200px;

width: 200px;

margin: 100px auto;

position: relative;

transform: rotate3d(1,1,0,-30deg);

/*让子元素保留3d变换效果*/

transform-style: preserve-3d;

/*添加透视景深效果*/

perspective: 1px;

/*设置透视的观察角度*/

perspective-origin: 0px 0px;

}

.box > div{

width: 200px;

height: 200px;

position: absolute;

opacity: 0.6;

}

.front{

background-color: red;

/*变化完毕后会回到原始状态*/

transform: translateZ(100px);

}

.back{

background-color: yellowgreen;

transform: translateZ(-100px) rotateY(180deg);

}

.left{

background-color: grey;

/*移动加旋转*/

transform: translateX(-100px) rotateY(-90deg);

}

.right{

background-color: magenta;

transform: translateX(100px) rotateY(90deg);

}

.top{

background-color: deepskyblue;

transform: translateY(-100px) rotateX(90deg);

}

.bottom{

background-color: peachpuff;

transform: translateY(100px) rotateX(-90deg);

}

front
back
left
right
top
bottom
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值