홈 화면의 전체 메뉴를 띄우고 숨기기 위한 햄버거 버튼을 추가했다.
✔ position 설정
애니메이션이 아닌 버튼 자체를 생성하는 것은 간단할 것이라 생각했지만
position 설정이 의외의 첫 번째 복병이었다. 이 버튼이 영상과 반투명 레이어에
가려지지 않아야 하고 반투명 레이어 기준의 position에 대해서 설정해야하기 때문에 생각해야할 것이 많았다.
html 태그에서 부모 태그에 해당하는 반투명 레이어의 position : relative;로 설정하면
그 좌측 최상단이 자식 태그의 (0,0)으로 기준이 된다.
position : absolute;와 position : relative;를 잘 설정하여 이 녀석이 예쁘게 자리를
잘 잡을 수 있게 만드는데 시간이 좀 걸렸다...
✔ z-index 설정
영상과 홈 화면 문구 그리고 반투명 레이어와의 z축 관계는 CSS에서 z-index로 설정하였다.
반투명 레이어가 중간에 위치해야하니 0인 initial로서 기준이 되고
영상은 -100, 버튼과 문구는 100으로 설정하여 위치 값을 지정했다.
✔ animation 설정
정지한 사진 상으로는 표현이 안되지만 심심하지 않게 애니메이션을 추가해보았다.
아래의 햄버거 버튼을 누르면
- 1차로 양 끝 줄이 가운데로 합쳐지면서 가운데 줄은 scale이 1에서 0이 된다.
- 2차로 양 끝 줄이 각각 45deg, 135deg로 회전하면서
전체 메뉴가 뜰 때 화면을 닫을 수 있게 하는 X 표시를 띄게 된다.
✔ 현재 오류
하지만 문제가 있다. 햄버거 버튼을 누르면 애니메이션이 잘 작동되면서 X 버튼이 만들어지는데
CSS가 문제인건지 Jquery가 문제인건지 X 버튼을 눌렀을 때 다시 되돌아가지 않는다...
오타, 선택자, 괄호 순으로 다시 점검해봐야겠다. 애니메이션이 굉장히 많아져서 헷갈린다.
유지-보수도 같이 생각해야하니까 갯수를 줄이는 방향과 주석으로 구분해주면서 해야겠다.
✔ 해결!! 👉 id로 지정되어있바던 line-top, line-mid, line-bot를 class 선택자 .으로 바꿨더니 해결됐다...
Jquery에서 toggleClass를 사용하려면 Class 선택자에 한해서 기능이 구현되는 것 같다.
✔ 유지-보수 관련 팁 : 버튼을 눌러서 실행, 취소하고 싶을 때는 addClass, removeClass 를 일일이 하기보다는
toggleClass를 사용하는 것이 효율적이다!!
'CSS' 카테고리의 다른 글
21.12.21 flex-속성 (0) | 2021.12.21 |
---|---|
21.12.15 특정 컴포넌트에 props에 따라 css 색 변경 (0) | 2021.12.15 |
21.12.13 text shadow (0) | 2021.12.13 |
21.01.15 프로젝트#1 Grid Garden (0) | 2021.01.16 |
21.01.13 프로젝트#1 FlexboxFroggy (0) | 2021.01.14 |