본문 바로가기
CSS/애니메이션

CSS 애니메이션 : 넘어가는 사진 3D 효과

by 코딩 척척학사 2022. 9. 20.
728x90

애니메이션 만들기

css 애니메이션을 만들어 봅니다!

애니메이션 : 넘어가는 사진 3D 효과

마우스를 올리면 사진이 넘어가는 효과입니다.

html 코드 보기

<div class="hover__wrap">
    <div class="hover__updown">
        <figure class="front">
        <img src="https://github.com/hjkang306/coding2/blob/main/animation/img/img1.jpg?raw=true" alt="hoverUp 이미지">
        <figcaption>
            <h3>Mouse Hover Effect</h3>
            <p>마우스 올리면 Up</p>
        </figcaption>
        </figure>
        <figure class="back">
        <img src="https://github.com/hjkang306/coding2/blob/main/animation/img/img3.jpg?raw=true" alt="hoverDown 이미지">
        <figcaption>
            <h3>Mouse Hover Effect</h3>
            <p>마우스 내리면 Down</p>
        </figcaption>
        </figure>
    </div>
    <div class="hover__leftright">
        <figure class="front">
        <img src="https://github.com/hjkang306/coding2/blob/main/animation/img/img2.jpg?raw=true" alt="hoverLeft 이미지">
        <figcaption>
            <h3>Mouse Hover Effect</h3>
            <p>마우스 올리면 to Right</p>
        </figcaption>
        </figure>
        <figure class="back">
        <img src="https://github.com/hjkang306/coding2/blob/main/animation/img/img4.jpg?raw=true" alt="hoverRight 이미지">
        <figcaption>
            <h3>Mouse Hover Effect</h3>
            <p>마우스 내리면 to Left</p>
        </figcaption>
        </figure>
    </div>
</div>

css 코드 보기

@font-face {
    font-family: 'LocusSangsang';
    font-weight: normal;
    font-style: normal;
    src: url('https://cdn.jsdelivr.net/gh/webfontworld/locus/LocusSangsang.eot');
    src: url('https://cdn.jsdelivr.net/gh/webfontworld/locus/LocusSangsang.eot?#iefix') format('embedded-opentype'),
         url('https://cdn.jsdelivr.net/gh/webfontworld/locus/LocusSangsang.woff2') format('woff2'),
         url('https://cdn.jsdelivr.net/gh/webfontworld/locus/LocusSangsang.woff') format('woff'),
         url('https://cdn.jsdelivr.net/gh/webfontworld/locus/LocusSangsang.ttf') format("truetype");
    font-display: swap;
}

body {
  font-family: 'LocusSangsang';
  background: linear-gradient(135deg, #191970 0%, #483D8B 40%, #9370DB 100%);
  height: 100vh;
}

.hover__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.hover__wrap > div {
  max-width: 400px;
  margin: 3%;
  position: relative;
  perspective: 1000px;
}

.hover__wrap > div img {
  width: 100%;
  border: 10px solid #F0F8FF;
  box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  vertical-align: top;
}

.hover__wrap > div .front {
  transition: transform 1s;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.hover__wrap > div .back {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  transition: transform 1s;
  transform-style: preserve-3d;
}

.hover__wrap > div figcaption {
  background: rgba(0, 0, 0, 0.4);
  color: 	#F8F8FF;
  padding: 10px;
  text-align: center;
  line-height: 0.7;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) translatez(100px);
  width: 60%;
  backface-visibility: hidden;
}


/* Mouse Hover Effect */
.hover__updown .front {
  transform: rotateX(0deg);
}

.hover__updown:hover .front {
  transform: rotateX(180deg);
}

.hover__updown .back {
  transform: rotateX(-180deg);
}

.hover__updown:hover .back {
  transform: rotateX(0deg);
}

.hover__leftright .front {
  transform: rotateY(0deg);
}

.hover__leftright:hover .front {
  transform: rotateY(180deg);
}

.hover__leftright .back {
  transform: rotateY(-180deg);
}

.hover__leftright:hover .back {
  transform: rotateY(0deg);
}

See the Pen Untitled by hjkang306 (@hjkang306) on CodePen.

728x90

댓글


HTML이 적힌 썸네일 이미지
CSS가 적힌 썸네일 이미지
JAVASCRIPT가 적힌 썸네일 이미지

JAVASCRIPT

자세히 보기