CSS 动画未到达最后一个元素

问题描述 投票:0回答:1

我正在设计一个场景,其中我有 n 个团队成员个人资料卡,这些卡从右向左移动。但目前在我的情况下,动画最多有 5 张卡,然后动画重新启动,它不会转到最后一张卡.

我的第一个要求:个人资料卡从右向左移动直到最后一张卡

我的第二个要求:如果您可以的话,它是可选的,然后告诉我。在这种情况下,我希望当动画到达最后一张卡而不是重新启动动画时,第一张卡出现在最后一张卡后面,这应该在无限循环中发生。

 .team-profile-card-container {
    white-space: nowrap;
    overflow: hidden;
  }
  
  .team-profile-card {
    display: inline-block;
    width: 200px;
    margin-right: 20px;
    animation: slideRightToLeft 5s linear infinite;
    border: 1px solid transparent;
  }
  
  @keyframes slideRightToLeft {
    from {
      transform: translateX(100%);
    }
    to {
      transform: translateX(-100%);
    }
  }
  
  .team-profile-card-content {
    background-color: #f8f9fa;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding: 20px;
    position: relative;
    overflow: hidden;
  }
  
  .team-profile-img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 20px;
    transition: transform 0.3s;
  }
  
  .team-profile-img:hover {
    transform: scale(1.1);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  }
  
  .team-profile-name {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .team-profile-title {
    font-size: 14px;
    color: #6c757d;
    margin-bottom: 20px;
  }
  
  .social-icons {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s;
  }
  
  .team-profile-card:hover .social-icons {
    opacity: 1;
  }
  
  .team-profile-card-container:hover .team-profile-card {
    animation-play-state: paused;
  }
  
  .team-profile-card:hover {
    border-color: orangered;
  }
  
  .social-icons a {
    color: #007bff;
    font-size: 16px;
    margin: 0 5px;
    transition: color 0.3s;
  }
  
  .social-icons a:hover {
    color: #0056b3;
  }
<h2 class="module-title font-alt">Our Team Members</h2>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">

<div class="container mt-5">
  <div class="row justify-content-center">
    <div class="col-md-12">
      <div class="team-profile-card-container">
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Avinash Singh</div>
            <div class="team-profile-title">Web Developer</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>
        
        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Ajay Patel</div>
            <div class="team-profile-title">UI/UX Designer</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>
        
        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Divya Mishra</div>
            <div class="team-profile-title">Graphic Designer</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>
        
        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://via.placeholder.com/150" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Pawan Reddy</div>
            <div class="team-profile-title">Software Engineer</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>
        
        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://via.placeholder.com/150" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Aakansha Verma</div>
            <div class="team-profile-title">Social Media Expert</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://via.placeholder.com/150" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Palak Yadav</div>
            <div class="team-profile-title">SEO Expert</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://via.placeholder.com/150" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Raushan</div>
            <div class="team-profile-title">Graphics, UI/UX Designer</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://via.placeholder.com/150" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Deepak</div>
            <div class="team-profile-title">SEO Expert</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://via.placeholder.com/150" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Saurav Singh</div>
            <div class="team-profile-title">Video Production</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://via.placeholder.com/150" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Nayan Pathak</div>
            <div class="team-profile-title">Photography</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>
        
        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Nisha Yadav</div>
            <div class="team-profile-title">Branding & Design</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Akash Verma</div>
            <div class="team-profile-title">Social Media Handling</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Naina</div>
            <div class="team-profile-title">Socail Media Influencer</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Kavita Tomar</div>
            <div class="team-profile-title">Branding & Design</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Rajiv Kumar</div>
            <div class="team-profile-title">AI Expert</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Sandeep Verma</div>
            <div class="team-profile-title">Content Writing</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Prashant Singh</div>
            <div class="team-profile-title">Lead Generation</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Abhishek Yadav</div>
            <div class="team-profile-title">Software Developer</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Tushar Nayan</div>
            <div class="team-profile-title">WEb Testing & Production</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Manish Reddy</div>
            <div class="team-profile-title">GMB/SMO</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Sumit Mishra</div>
            <div class="team-profile-title">Photography/Video Editing</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>


        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Krishna Kumar</div>
            <div class="team-profile-title">Sales</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Pradeep Saini</div>
            <div class="team-profile-title">Sales</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>

        <!-- Repeat the above profile card block for a total of 6 times -->
        <div class="team-profile-card">
          <div class="team-profile-card-content text-center p-4">
            <div class="team-profile-img">
              <img src="https://themewagon.github.io/warehouse/images/person_3.jpg" class="img-fluid" alt="Profile Picture">
            </div>
            <div class="team-profile-name">Pallavi</div>
            <div class="team-profile-title">Sales</div>
            <div class="social-icons">
              <a href="#"><i class="fab fa-facebook"></i></a>
              <a href="#"><i class="fab fa-instagram"></i></a>
              <a href="#"><i class="fab fa-linkedin"></i></a>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

html jquery css twitter-bootstrap html5-canvas
1个回答
0
投票

第一个需求解决方案

在此修改中,根据我的代码,我假设“总共 24 张卡”。如果实际卡牌数量不同,请相应调整乘数。此修改可确保动画在重新启动之前覆盖所有卡片的整个宽度。

@keyframes slideRightToLeft { from { transform: translateX(0); } /* Start from initial position */ to { transform: translateX(calc(-100% * 24)); } /* Translate by the total width of all cards */

© www.soinside.com 2019 - 2024. All rights reserved.