如何使用css3设计出一个立体旋转魔方?

需要先了解的知识:

①了解CSS的2d下的transform变化下的平移(translate)和旋转(rotate)。

②了解CSS的3d下的transform变化下的平移和旋转。

③使用transform设置原点,旋转依赖原点。

④无论2d空间,还是3d空间,平移都不依赖原点。

⑤2d空间下,旋转依赖的是2d空间下的某一个点。3d空间下,旋转时依赖的是3d空间下的某一点,一般情况下,都可以认为3d空间下的旋转是依赖于X轴或者Y轴或者Z轴进行旋转。

分析:魔方由6个面构成,需要将六个面组成立方体。

每一个面由3*3个小盒子构成。

起始需要将六个面都绝对定位到同一个位置,通过3dCSS平移、旋转将六个面组成立方体。

设计出一个3*3个小盒子构成的平面:

设计出9个小盒子并使用float的形式将九个小盒子合理的布局到平面中。

方案一:(先平移后旋转)    立体魔方案例一

①设计6个平面使用绝对定位到屏幕的同一位置。

②为每一个平面设计9个盒子排布到合理的位置(可以使用float或者inline-bolck或者绝对定位)。

③通过先平移后旋转的方式将六个面组成立方体。

④为包裹六个平面的盒子设置一个动画,立方体魔方将会旋转展示。

方案二:(先旋转后平移)       立体魔方案例二

①设计6个平面使用绝对定位到屏幕的同一位置。

②为每一个平面设计9个盒子排布到合理的位置(可以使用float或者inline-bolck或者绝对定位)。

③通过先旋转后平移的方式将六个面组成立方体。

注意在三维立体中,平面旋转后,对应的三个轴线(X、Y、Z))将随之移动。

④为包裹六个平面的盒子设置一个动画,立方体魔方将会旋转展示。

方案三:(先定原点后旋转)   立体魔方案例三

①设计6个平面使用绝对定位到屏幕的同一位置。

②为每一个平面设计9个盒子排布到合理的位置(可以使用float或者inline-bolck或者绝对定位)。

③通过先设置原点后旋转的方式将六个面组成立方体。

④为包裹六个平面的盒子设置一个动画,立方体魔方将会旋转展示。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、属性选择器:id选择器 # 通过id 来选择类名选择器 . 通过类名来选择属性选择器 ...
    Yuann阅读 1,672评论 0 7
  • CSS3简介 CSS3的现状 浏览器支持程度差,需要添加 私有前缀 ; 移动端支持优于PC端; 不断改进中; 应用...
    magic_pill阅读 841评论 0 1
  • 凌卿阅读 146评论 0 0
  • https://github.com/mxcl/PromiseKit https://github.com/Rea...
    拥抱月亮的大星星阅读 290评论 0 0
  • Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy。其中Numpy是一个用python实现的...
    三两五阅读 2,307评论 1 10