본 게시글은 코딩웍스 포트폴리오 실전 퍼블리싱 동영상을 참고하여 포스팅하였습니다.
See the Pen hover nav effect by limhaneul2244 (@limhaneul2244) on CodePen.
front와 back을 겹치게 놓아야 하므로 .item에 position: relative지정. front와 back에position: absolute 지정
absolute지정시 content 크기 만큼 줄어들게 되므로 width값을 정의해주고,
front가 앞으로 나와야 하기 때문에 z-index값을 준다.
transition을 통해 부드럽게 위, 아래로 움직이게 하기 위해 hover가 아닌 front와 back에 transition을 지정한다.
hover가 되었을 때에는 위치값으로 박스를 어떻게 움직일지 설정할 수 있다.
(왜냐면, position을 지정했기 때문에 top, left, right, bottom 지정 가능)
front는 위로 올라가야 해서 top:0에서 -50%
back은 아래로 내려가야 해서 top: 0에서 50%
중요한점!
hover가 되기 전의 item에 원래의 위치값인 top:0을 꼭 넣어주어야
시작점을 기점으로 front와 back의 transition이 작동한다.
(top:0을 넣어주지 않으면 시작점을 못찾아서 작동 안함)
마우스 hover했을 때 이미지 움직이게 하기
키프레임을 통해 이미지를 움직이게 해보장
@keyframes active {
0% {}
50% {}
100% {}
}
/*아래처럼 keyframes를 넣어보자*/
@keyframes active {
0% {
transform: scale(1); /*변화 없음*/
}
50% {
transform: scale(1.2);
}
100% {
transform: scale(1); /*변화 없음*/
}
}
/*아래처럼 keyframes를 넣어도 동일하다*/
@keyframes active {
0% {}
50% {
transform: scale(1.2);
}
100% {}
}
/*또 다른 방법, 0%와 100%가 동일할 경우 묶을 수 있다.*/
@keyframes active {
0%, 100% {
transform: scale(0.9);}
50% {
transform: scale(1.2);
}
}
scale(1) 은 기본값이기때문에 넣어주지 않아도 동일하다.
hover가 되었을 때 변화가 있어야 하기 때문에 img에 animation을 적용.
.items .item:hover .front img {animation: active 1s linear infinite;}
반응형
SMALL
'MarkUp > CSS' 카테고리의 다른 글
[CSS] position: sticky 에 대해 알아보자 (0) | 2021.12.22 |
---|---|
[CSS] 중앙정렬 방법 (0) | 2021.12.21 |
[CSS] after를 이용해 말풍선 모양(tool tip) 만들기 (0) | 2021.12.21 |
[CSS] hover를 이용한 dimmed(딤드)배경 만들기 (0) | 2021.12.21 |
[CSS] hover를 이용한 drop down nav 만들기 (0) | 2021.12.21 |