当前位置:   article > 正文

每日一技:给女友用代码做一个3D旋转相册,每天亿遍忘记初恋~_3d旋转相册代码

3d旋转相册代码

前言

不会表白?!我来教你给女朋友或者正在追求的妹子一点小惊喜~

今天这篇文章就是演示给女友做一个3D旋转相册,学会的小伙伴可以给自己的女朋友或者喜欢的女生做一个,相比几百上千的礼物,零成本的技术实现的3D选择相册又走心,还可以用来当壁纸,赶快先收藏起来!

 正文:

一、新建一个index.html的文件,代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>css-3d旋转</title>
  6. <link rel="stylesheet" href="css/index.css" />
  7. </head>
  8. <body>
  9. <!--/*外层最大容器*/-->
  10. <div class="wrap">
  11. <!-- /*包裹所有元素的容器*/-->
  12. <div class="cube">
  13. <!--前面图片 -->
  14. <div class="out_front">
  15. <img src="img/1.jpg" class="pic"/>
  16. </div>
  17. <!--后面图片 -->
  18. <div class="out_back">
  19. <img src="img/2.jpg" class="pic"/>
  20. </div>
  21. <!--左图片 -->
  22. <div class="out_left">
  23. <img src="img/3.jpg" class="pic"/>
  24. </div>
  25. <div class="out_right">
  26. <img src="img/4.jpg" class="pic"/>
  27. </div>
  28. <div class="out_top">
  29. <img src="img/5.jpg" class="pic"/>
  30. </div>
  31. <div class="out_bottom">
  32. <img src="img/6.jpg" class="pic"/>
  33. </div>
  34. <!--小正方体 -->
  35. <span class="in_front">
  36. <img src="img/7.jpg" class="in_pic" />
  37. </span>
  38. <span class="in_back">
  39. <img src="img/8.jpg" class="in_pic" />
  40. </span>
  41. <span class="in_left">
  42. <img src="img/9.jpg" class="in_pic" />
  43. </span>
  44. <span class="in_right">
  45. <img src="img/10.jpg" class="in_pic" />
  46. </span>
  47. <span class="in_top">
  48. <img src="img/11.jpg" class="in_pic" />
  49. </span>
  50. <span class="in_bottom">
  51. <img src="img/12.jpg" class="in_pic" />
  52. </span>
  53. </div>
  54. </div>
  55. </body>
  56. </html>

二、css样式的代码

  1. html{
  2. background: #000;
  3. height: 100%;
  4. }
  5. /*最外层容器样式*/
  6. .wrap{
  7. position: relative;
  8. position: absolute;
  9. top: 0;
  10. right: 0;
  11. bottom: 0;
  12. left: 0;
  13. width: 200px;
  14. height: 200px;
  15. margin: auto;
  16. /*改变左右上下,图片方块移动*/
  17. }
  18. /*包裹所有容器样式*/
  19. .cube{
  20. width: 200px;
  21. height: 200px;
  22. margin: 0 auto;
  23. transform-style: preserve-3d;
  24. transform: rotateX(-30deg) rotateY(-80deg);
  25. -webkit-animation: rotate 20s infinite;
  26. /*匀速*/
  27. animation-timing-function: linear;
  28. }
  29. @-webkit-keyframes rotate{
  30. from{transform: rotateX(0deg) rotateY(0deg);}
  31. to{transform: rotateX(360deg) rotateY(360deg);}
  32. }
  33. .cube div{
  34. position: absolute;
  35. width: 200px;
  36. height: 200px;
  37. opacity: 0.8;
  38. transition: all .4s;
  39. }
  40. /*定义所有图片样式*/
  41. .pic{
  42. width: 200px;
  43. height: 200px;
  44. }
  45. .cube .out_front{
  46. transform: rotateY(0deg) translateZ(100px);
  47. }
  48. .cube .out_back{
  49. transform: translateZ(-100px) rotateY(180deg);
  50. }
  51. .cube .out_left{
  52. transform: rotateY(90deg) translateZ(100px);
  53. }
  54. .cube .out_right{
  55. transform: rotateY(-90deg) translateZ(100px);
  56. }
  57. .cube .out_top{
  58. transform: rotateX(90deg) translateZ(100px);
  59. }
  60. .cube .out_bottom{
  61. transform: rotateX(-90deg) translateZ(100px);
  62. }
  63. /*定义小正方体样式*/
  64. .cube span{
  65. display: bloack;
  66. width: 100px;
  67. height: 100px;
  68. position: absolute;
  69. top: 50px;
  70. left: 50px;
  71. }
  72. .cube .in_pic{
  73. width: 100px;
  74. height: 100px;
  75. }
  76. .cube .in_front{
  77. transform: rotateY(0deg) translateZ(50px);
  78. }
  79. .cube .in_back{
  80. transform: translateZ(-50px) rotateY(180deg);
  81. }
  82. .cube .in_left{
  83. transform: rotateY(90deg) translateZ(50px);
  84. }
  85. .cube .in_right{
  86. transform: rotateY(-90deg) translateZ(50px);
  87. }
  88. .cube .in_top{
  89. transform: rotateX(90deg) translateZ(50px);
  90. }
  91. .cube .in_bottom{
  92. transform: rotateX(-90deg) translateZ(50px);
  93. }
  94. /*鼠标移入后样式*/
  95. .cube:hover .out_front{
  96. transform: rotateY(0deg) translateZ(200px);
  97. }
  98. .cube:hover .out_back{
  99. transform: translateZ(-200px) rotateY(180deg);
  100. }
  101. .cube:hover .out_left{
  102. transform: rotateY(90deg) translateZ(200px);
  103. }
  104. .cube:hover .out_right{
  105. transform: rotateY(-90deg) translateZ(200px);
  106. }
  107. .cube:hover .out_top{
  108. transform: rotateX(90deg) translateZ(200px);
  109. }
  110. .cube:hover .out_bottom{
  111. transform: rotateX(-90deg) translateZ(200px);
  112. }

三、文件的目录结构,把css文件放到css文件夹里,图片放到img文件夹里。

四、图片尺寸大小随意【严格要求的话可以统一正方形尺寸大小】

五、最终动态效果图呈现:

总结:

世界上没有不存在漏洞的关系。在每种关系的开始,都有他存在的原因,而在结束时,也有必要终止他的生活。生命是可以随时终止的契约,但是爱可以在最纯净最美好的时光穿越生死。

如果是非技术的朋友看到这篇博客,发现不会弄,可以直接留言哦。或者戳一戳 ↓戳一戳腾讯文档-在线文档https://docs.qq.com/doc/DT0ZGUVdreGxUbUVi

我是老华,一名喜欢分享知识的程序员,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/127359
推荐阅读
相关标签
  

闽ICP备14008679号