HTML5技术

CSS3D动画制作一个3d旋转的筛子 - 黑白_混沌

字号+ 作者:H5之家 来源:H5之家 2017-05-20 17:02 我要评论( )

希望这个demo能让大家理解CSS3的3d空间动画(其实是个假3D) 首先给一个3d的解剖图,x/y/z轴线轴线已经标出 下面附上添加特效的动画旋转 可以根据demo并参考上面解剖图进行理解 !DOCTYPE htmlhtml lang="en"headmeta charset="UTF-8"titleDocument/titlestyleh

希望这个demo能让大家理解CSS3的3d空间动画(其实是个假3D)

首先给一个3d的解剖图,x/y/z轴线轴线已经标出

 

下面附上添加特效的动画旋转

可以根据demo并参考上面解剖图进行理解

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> html{ height: 100%; } body{ height: 100%; display: flex; justify-content: center; align-items: center; background-color: black; perspective: 1000px; transform-style: preserve-3d; } section{ width: 300px; height: 300px; transform-style: preserve-3d; animation: zhuan 16s infinite linear; } div{ width: 300px; height: 300px; background-color: orange; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; position: absolute; box-shadow: 0 0 300px green; opacity: 0.8; } div:nth-child(1){ transform: translateZ(300px); border-radius: 50%; box-shadow: 0 0 500px orange; opacity: 0.4; } div:nth-child(2){ transform: rotateX(90deg) translateZ(300px); align-items: center; justify-content: space-around; flex-direction: column; border-radius: 50%; box-shadow: 0 0 500px orange; opacity: 0.4; } div:nth-child(3){ transform: rotateY(90deg) translateZ(300px); flex-wrap: wrap; align-items: flex-start; justify-content: center; border-radius: 50%; box-shadow: 0 0 500px orange; opacity: 0.4; } div:nth-child(3) p:nth-child(2){ align-self: center; } div:nth-child(3) p:nth-child(3){ align-self: flex-end; } div:nth-child(4){ transform: translateZ(-300px); flex-wrap: wrap; border-radius: 50%; box-shadow: 0 0 500px orange; opacity: 0.4; } div:nth-child(5){ transform: rotateX(90deg) translateZ(-300px); border-radius: 50%; box-shadow: 0 0 500px orange; opacity: 0.4; } div:nth-child(6){ transform: rotateY(90deg) translateZ(-300px); border-radius: 50%; box-shadow: 0 0 500px orange; opacity: 0.4; } .low{ width: 300px; height: 150px; display: flex; } .low:nth-child(1){ align-items: flex-end; justify-content: center; } .low:nth-child(2){ align-items: flex-start; justify-content: center; } .stree{ width: 300px; height: 33.33%; display: flex; } .stree:nth-child(1){ justify-content: space-around; } .stree:nth-child(2){ justify-content: center; } .stree:nth-child(3){ justify-content: space-around; } .fore{ width: 300px; height: 33.33%; display: flex; } .fore:nth-child(1){ justify-content: center; } .fore:nth-child(3){ justify-content: center; } p{ width: 60px; height: 60px; background-color: white; border-radius: 50%; box-shadow: 200 60 400px #ccc; opacity: 0.7; margin: 10px; } @keyframes zhuan{ 0%{ transform: rotateX(0deg) rotateY(0deg); } 100%{ transform: rotateX(360deg) rotateY(360deg) ; } } </style> </head> <body> <section> <div> <p></p> </div> <div> <p></p> <p></p> </div> <div> <p></p> <p></p> <p></p> </div> <div> <main> <p></p> <p></p> </main> <main> <p></p> <p></p> </main> </div> <div> <main> <p></p> <p></p> </main> <main> <p></p> </main> <main> <p></p> <p></p> </main> </div> <div> <main> <p></p> <p></p> </main> <main> <p></p> <p></p> </main> <main> <p></p> <p></p> </main> </div> </section> </body> </html>

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • [C#] BarcodeLib -- 一个精简而不失优雅的条形码生成库 - 反骨仔(二五仔)

    [C#] BarcodeLib -- 一个精简而不失优雅的条形码生成库 - 反骨仔(二

    2017-05-19 15:01

  • 一个标签实现滚动 - 小僵尸

    一个标签实现滚动 - 小僵尸

    2017-05-18 17:02

  • 第一份工作中第一个任务感悟 - 华灯初上!!归去

    第一份工作中第一个任务感悟 - 华灯初上!!归去

    2017-05-13 18:01

  • 其实我就是想好好的写写代码(一个伪程序猿的独白) - 坚持的孤独

    其实我就是想好好的写写代码(一个伪程序猿的独白) - 坚持的孤独

    2017-05-09 15:00

网友点评
c