728x90
1. 앞, 뒷면 만들기
<!-- RESERVE STORE -->
<section class="reserve-store">
<div class="inner">
<div class="medal">
<div class="front">
<img src="./images/reserve_store_medal_front.png" alt="" />
</div>
<div class="back">
<img src="./images/reserve_store_medal_back.png" alt="" />
<a href="javascript:void(0)" class="btn btn--gold">자세히 보기</a>
</div>
</div>
</div>
</section>
2. 회전시켰을 때 뒷면 안 보이기
(힌트)
더보기
perspective / backface-visibility / transform: rotateY( )
🚨 3D 애니메이션
📍부모 요소에 perspective를 주고
📍자식 요소에 transition, backface-visibilty: hidden, transform: rotateY를 줄 수 있다.
📍transform 방향
ㄴ transform: rotateY(0)은 원래 상태다.
ㄴ transform: rotateY(180/-180)은 뒤집어진 상태다.
📍자식요소들을 position: absolute하여 이미지 위치를 겹치는 상태로 만들 것
/* 3D */
.reserve-store {
background-image: url("../images/reserve_store_bg.jpg");
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.reserve-store .inner {
height: 600px;
display: flex;
justify-content: center;
align-items: center;
}
.reserve-store .medal {
width: 334px;
height: 334px;
perspective: 600px;
}
.reserve-store .medal .front,
.reserve-store .medal .back {
position: absolute;
width: 334px;
height: 334px;
backface-visibility: hidden;
transition: 1s;
}
.reserve-store .medal .front {
/* position: absolute; 앞면과 뒷면을 동일한 곳에 위치시킬 때 */
transform: rotateY(0deg);
}
.reserve-store .medal:hover .front {
transform: rotateY(180deg);
}
.reserve-store .medal .back {
transform: rotateY(-180deg);
}
.reserve-store .medal:hover .back {
transform: rotateY(0deg);
}
.reserve-store .medal .btn {
position: absolute;
top: 210px;
left: 0;
right: 0;
margin: auto;
}
728x90
'FE' 카테고리의 다른 글
스크롤 위치를 계산하여 애니메이션 하기 📌 요소가 시간차로 하나씩 나타나기 (0) | 2021.10.17 |
---|---|
사각 이미지 원형에 넣기, 이미지에 그림자 삽입, 배경에 패턴 넣기 (0) | 2021.10.17 |
스크롤 시 고정되는 이미지 배경 (0) | 2021.10.17 |
유튜브 배경에 깔기 / 플로팅 애니메이션 반복 / 랜덤함수 (0) | 2021.10.17 |
섹션 안에 버튼 삽입 (0) | 2021.10.17 |