Fade In / Fade Out 을 구현해보자
1. 소스코드
2. 설명
z-index 때문에 반드시 visibility: hidden; 적용이 필요한 상황. 결론부터 말하자면 transition: all 0.2s linear 0s; 처럼 사용하면 된다. 이 때 가장 마지막에 오는 시간은 animaition-delay 에 사용되는 시간이다. 1s 로 설정 시 1초 뒤에 애니메이션이 실행된다. 검색해서 찾아보니 transition: opacity 0.2s visibility 0.2s; 같은 형식으로 사용하면 적용될거라 하던데, 막상 해보니 그냥 툭 하고 사라지며 애니메이션이 먹히지 않았다.
useState를 사용하여 true/false 값에 따라 className을 분기처리 한 내용은 너무나도 당연한 부분이니 굳이 설명하지 않고 넘어가도록 하겠다. 햄버거 버튼이 컴포넌트 밖에 있는 구조라서, 컴포넌트에선 useState를 props받아 사용했다. 참고로 컴포넌트를 useState에 따라 {useState ? <Components /> : null} 과 같은 방식으로 사용하면 당연하게도 CSS 따위 적용되지 않는다. 태그를 지워버리는데 CSS가 먹힐리가.
'Programming > Javascript' 카테고리의 다른 글
[Tip] 구글 애드센스(AdSense) Height Auto Important 강제 적용 해제 (0) | 2024.01.27 |
---|---|
[JS] 순열 / 중복순열 / 조합 / 중복조합 (0) | 2022.08.10 |
[React] 'react-scripts'은(는) 내부 또는 외부 명령 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. (0) | 2022.08.03 |
[Javascrit] 정규표현식 (Regular Expression) 정리 (0) | 2022.07.27 |
[React] Modal 만들기 (React-Modal 사용 X) (0) | 2022.02.26 |
댓글