카드 자동 슬라이딩 CSS

Hvvany·2022년 11월 15일
0

CSS

목록 보기
1/2

자동 슬라이딩 카드

HTML

<div class='slider'>

  <div class='slide-track'>

    <div class='slide'>
      <div class="train-card">이미지 또는 카드</div>
    </div>
    <div class='slide'>
      <div class="train-card">이미지 또는 카드</div>
    </div>
    <div class='slide'>
      <div class="train-card">이미지 또는 카드</div>
    </div>

    <!-- 한번 더 반복하기 -->

    <div class='slide'>
      <div class="train-card">이미지 또는 카드</div>
    </div>
    <div class='slide'>
      <div class="train-card">이미지 또는 카드</div>
    </div>
    <div class='slide'>
      <div class="train-card">이미지 또는 카드</div>
    </div>

  </div>

</div>

css

/* 카드 자동 스라이더 효과 */

.slider{
  height: 450px;
  margin: auto;
  position:relative;
  width: 120%;
  display:grid;
  place-items:center;
  overflow:hidden;
  left:-10%;
}

.slide-track{
  display:flex;
  width: calc(300px * 12);
  animation: scroll 40s linear infinite;
}

.slide-track:hover{
  animation-play-state:paused;
}

@keyframes scroll{
  0% {
    transform: translateX(0);
  }
  100%{
    transform: translateX(calc(-300px * 6));
  }
}

.slide{
  height: 250px;
  width: 300px;
  display: flex;
  align-items:center;
  padding: 15px;
  perspective:100px;
}

.train-card{
  width:100%;
  transition:transform 1s;
  border-radius:10px;
  overflow:hidden;
}

.train-card:hover{
  transform:translateZ(18px);
}

/* 슬라이더 그라데이션 그림자 */

.slider::before,
.slider::after {
  background:linear-gradient(to right, #f6f4f2 0%,
  rgba(255,255,255,0) 100%);
  content:'';
  height:100%;
  position:absolute;
  width:15%;
  z-index:2;
}

.slider::before{
  left:0;
  top:0;
}

.slider::after{
  right:0;
  top:0;
  transform: rotateZ(180deg);
}
profile
Just Do It

0개의 댓글