CSS3 transform3D

页面仔总是不甘于做页面仔,既然了解了transform3D怎么会放弃这个提升逼格的好机会啊。。虽然人家已经火了四五年了~~~~(>_<)~~~~,慢慢来骚年。

起:页面元素3D变换可以通过transform:rotateX(n deg) rotateY(m deg) rotateZ(x deg);实现。

1、对该元素或其父辈元素上创建三维场景

利用perspective和perspective-orgin,transform-style创建3d场景

perspective:透视、视角。其值代表透视点距离屏幕的距离。

perspective-orgin:眼睛看的位置 (50%,50%)屏幕正中央。

transform-style:preserve-3d表示3D透视。

2、rotateX:以x轴为旋转轴。

实例一:可视化transform值变化demo

https://github.com/zhuwenqi001/transform3Dbase/blob/master/test.html实际代码参见:

实例二:鼠标hover图片3D摆动

前提:

1、//获取鼠标坐标(jquery)

$(document).mousemove(function(e){

$("span").text("X:"+e.pageX+",y:"+e.pageY);

});

获取到的鼠标坐标始终是相对屏幕而言。改变mousemove对象只是改变触发环境,对值无影响。

2、旋转应该是有两个方向。绕X轴和Y轴。根据当前鼠标与轴的相对位置来计算转动幅度。另注意正负值。参见实例一可确定方向。

实际代码参见:https://github.com/zhuwenqi001/transform3Dbase/blob/master/mousemove.html

实例三:日历翻页效果

主要利用了transform值为90时,没有厚度的元素为不可见状态。

实际代码参见:https://github.com/zhuwenqi001/transform3Dbase/blob/master/calendar.html

原文地址:https://www.cnblogs.com/xiaozhuzhuandxiaomoney/p/6933814.html