• CSS3技巧37:JS+CSS3 制作旋转图片墙


    开学了就好忙啊,Three.js 学习的进度很慢。。。

    备课备课才是王道

    更一篇 JS + CSS3 的内容,做一个图片墙。

     其核心要点是把图片摆成这个样子:

    看上去这个布局很复杂,其实很简单。其思路是:

    1. 所有图片放在一个 div.box 里,并且绝对定位,方便调整位置。
    2. 每个图片旋转一个度数。这里有5张图,每个图旋转的度数就是 index*72。为啥 72?因为 360 / 5 = 72 。
    3. 然后,每张图移动 z 轴 -500px。我这里是移动 -500px,具体值大家可以自行设定。

    这其实好比一群人,专向对应度数后,往前或者往后移动相同的距离,就可以刚好围城一个圈。

    理解这个思路后,剩下的好办了。

    HTML:

    1. <div class="box" id="box">
    2. <img src="../images/pic1.jpg" alt="">
    3. <img src="../images/pic2.jpg" alt="">
    4. <img src="../images/pic3.jpg" alt="">
    5. <img src="../images/pic4.jpg" alt="">
    6. <img src="../images/pic5.jpg" alt="">
    7. div>

    CSS:

    1. *{
    2. margin: 0;
    3. padding: 0;
    4. }
    5. .box{
    6. width: 600px;
    7. height: 399px;
    8. }
    9. body{
    10. perspective: 2500px; /* 透视 */
    11. height: 100vh;
    12. overflow: hidden;
    13. }
    14. .box{
    15. transform-style: preserve-3d; /* 3D 空间 */
    16. margin-left: auto;
    17. margin-right:auto;
    18. margin-top: 400px;
    19. position: relative;
    20. animation: ani 20s linear infinite; /* 自动旋转 */
    21. }
    22. .box img{
    23. position: absolute;
    24. backface-visibility: hidden;
    25. opacity: 0.5;
    26. transition:all 0.2s;
    27. }
    28. .box img:hover{ /* 加上交互 */
    29. opacity: 1;
    30. }
    31. @keyframes ani {
    32. 0%{
    33. transform: rotateY(0);
    34. }
    35. 100%{
    36. transform: rotateY(360deg);
    37. }
    38. }

    JS:

    1. let box = document.getElementById("box");
    2. let imgs = box.querySelectorAll("img");
    3. // 遍历每张图片,设置每个图片的旋转 和 z轴位移。注意顺序!
    4. imgs.forEach(function(value,index){
    5. value.style.cssText = `
    6. transform:rotateY( ${72*index}deg ) translateZ(-500px);
    7. `;
    8. });

    完工~是不是超级简单~?

    啊~有用的知识又增加了。

  • 相关阅读:
    对梯度回传的理解
    B站又备战虚拟主播了
    布局香港之零售小店篇 | 香港一人小企与连锁超市的竞争
    随机过程理论知识(一)
    python毕业设计项目源码选题(18)教室实验室预约系统毕业设计毕设作品开题报告开题答辩PPT
    Java UML 类图
    让生产活动更高效,物料管理场景的RPA应用
    html5与css3前端学习笔记
    银行科技岗面试
    9/15(实习)一面
  • 原文地址:https://blog.csdn.net/weixin_42703239/article/details/136333565