<div class="container">
<div>
<img src="https://i.pravatar.cc/150?img=1" alt="" />
<h3>Jane Doe</h3>
<p>Lorem ipsum dolor sit amet, consec tetur adipi scing elit. </p>
</div>
<div>
<img src="https://i.pravatar.cc/150?img=2" alt="" />
<h3>John Doe</h3>
<p>Lorem ipsum dolor sit amet, consec tetur adipi scing elit. </p>
</div>
<div>
<img src="https://i.pravatar.cc/150?img=3" alt="" />
<h3>John Doe</h3>
<p>Lorem ipsum dolor sit amet, consec tetur adipi scing elit. </p>
</div>
<div>
<img src="https://i.pravatar.cc/150?img=4" alt="" />
<h3>John Doe</h3>
<p>Lorem ipsum dolor sit amet, consec tetur adipi scing elit. </p>
</div>
<div>
<img src="https://i.pravatar.cc/150?img=5" alt="" />
<h3>Jane Doe</h3>
<p>Lorem ipsum dolor sit amet, consec tetur adipi scing elit. </p>
</div>
<div>
<img src="https://i.pravatar.cc/150?img=6" alt="" />
<h3>John Doe</h3>
<p>Lorem ipsum dolor sit amet, consec tetur adipi scing elit. </p>
</div>
</div>
$n:6; /* number of elements */
.container {
--d: 15s; /* duration */
display: grid;
grid-template-columns: repeat(3,300px); /* number of visible elements + width */
overflow: hidden;
mask: linear-gradient(90deg,#0000,#000 5% 95%,#0000);
}
.container > div {
grid-area: 1/1;
display: grid;
grid-template-columns: 120px 1fr;
align-content: center;
gap: 10px;
background: #fff padding-box;
border-inline: 10px solid #0000;
animation: r var(--d) linear infinite;
}
.container > div img {
width: 100%;
grid-row: span 2;
}
.container > div * {
margin: 0
}
.container > div h3 {
margin-top: auto;
}
@for $i from 2 to ($n + 1) {
.container > div:nth-child(#{$i}) {animation-delay: calc(#{(1 - $i)/$n}*var(--d))}
}
@keyframes r {
#{100/$n}% {transform: translate(-100%)}
#{100/$n + .01}% {transform: translate(($n - 1)*100%)}
}
body {
margin: 0;
min-height: 100vh;
display: grid;
place-content: center;
font-family: system-ui;
background: #E08E79;
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.