-
핵심 기능
- 메뉴 열 때 디바운스를 걸어, 100ms 이상 커서가 머무를 때만 핸들러 실행
- 닫을 때도, 메뉴를 빠져나가고 10ms 이상 유지해야 메뉴가 닫힘
- 서브 메뉴로 직행할 때 다른 탑 레벨 메뉴의 마우스 엔터/오버 이벤트 억제
- 커서가 링크를 빠져나간 순간의 좌표를 이용, detail layer까지 향하는 삼각형 canvas path를 그린다
- 커서가 위의 canvas path를 탈출할 때 까지 window에서 mousemove 이벤트를 추적한다
- 해당 이벤트를 추적하는 동안에는 다른 링크의 이벤트 핸들러를 조기 반환 처리해, 메뉴에는 아무런 변화가 생기지 않는다
- 커서가 canvas path를 탈출하면 canvas와 window의 mousemove이벤트 리스너를 초기화한다
- 메뉴 열 때 디바운스를 걸어, 100ms 이상 커서가 머무를 때만 핸들러 실행
-
주요 단위: rem => 1rem = 10px로 환산하여 처리
-
보조 단위: % => 화면 및 부모 개체(element)의 크기에 비례해 레이아웃을 구성할 때만 사용
- 예: 헤더 첫번째 줄 - 전체 화면(100%)에서 로고가 x rem, 우측 배너가 y rem일 때 중앙 검색창은 100% - x - y 의 너비를 갖는다
- 예2: 블록 콘텐츠 정렬을 위해 부모 개체의 높이를 상속받을 때 width: 100%를 사용
- 글자체: Open sans
- 폰트 굵기: normal 400; bold 800
- 루트 (디자인용 기본 수치): 0.625rem (10px)
- body: 1.6rem
- 헤딩이 있는 영역의 본문은 헤딩의 80%만 할당 - 본문이 헤딩보다 가로로 길지 않게
- 버튼
- 메이저 버튼(오렌지 색 CTA 버튼) 라벨: 2rem
- 그 외: 부모 엘리멘트 상속
- sup: 0.5rem
- 헤더
- 일반 문자: 1.4rem
- 검색창: 1.2rem
- 마스트헤드
- 헤딩: 3.5rem
- 본문: 2rem
- 혜택 카로셀
- 카테고리 버튼 라벨: 2rem
- 혜택상세 헤딩: 2.5rem
- 가로 배너 (horizontalBanners)
- 대표 헤딩: 2.5rem
- 배너 헤딩: 3.5rem
- 프라임 체험 > 배너 헤딩: 3.5rem
- 프라임 체험 > 마이너 CTA 링크: 1.2rem
- 푸터
- 서비스 링크: 1.4rem (헤딩은 1.6rem)
- 관련사 링크 및 이용규약 링크 : 0.9rem
- 헤더
- 좌측 패딩 1.5rem (이미지 여백에 따라 조정)
- 첫 행 개체 좌우 간격: 4.5rem
- 두번째 행 - nav 속 개체 간격: 1rem
- 마스트헤드
- 내부개체 상하 간격: 2rem
- 콘텐츠 왼쪽 여백: 5rem
- 텍스트와 이미지는 각각 좌/우 50%로 배치
- 혜택 카로셀
- 카테고리 선택버튼 간격: 0.2rem
- 혜택 카테고리와 상세카드 상하 간격: 2rem
- 혜택 상세카드 내부개체 상하 간격: 2rem
- 가로 배너 (horizontalBanners)
- 내부개체 상하 간격: 2rem
- 콘텐츠 왼쪽 여백: 5rem
- 텍스트와 이미지는 각각 좌/우 50%로 배치
- 프라임 체험 배너
- 배너 내부개체 상하 간격: 2rem
- 콘텐츠는 좌우 33% 여백을 두고 중앙에 배치
- 푸터
- 상하 여백: 3rem
- 링크 표시 영역 너비: 1000px
- 주요 서비스 링크 > 좌우 간격: 6rem
- 주요 서비스 링크 > 상하 간격: 1rem
- 계열사 링크 > 좌우 간격: 1.5rem
- 계열사 링크 > 상하 간격: 1rem
- 이용약관 링크 좌우 간격: 2rem
- 공통 개체
- CTA 강조 버튼(.global-deco-major-btn)
- 최소너비: 200px
- 너비: 35rem
- 최소높이: 3rem
- 높이: 5rem
- CTA 강조 버튼(.global-deco-major-btn)
- 헤더
- 너비: 100%
- 높이: 11rem
- 마스트헤드
- 너비: 1280px
- 높이: 45rem
- 혜택 카로셀
- 카테고리 버튼
- 너비: 150px
- 높이: 20rem
- 버튼 속 이미지 영역 > 너비: 120px
- 버튼 속 이미지 영역 > 높이: 140px
- 혜택 상세 카드
- 너비: 1280px
- 높이: 35rem
- 강조된 키워드 너비/높이: 문자 박스 너비/높이 + 10px
- 카테고리 버튼
- 가로 배너 (horizontalBanners)
- 너비: 1280px
- 높이: 35rem
- 미니 카로셀 높이: 배경 높이(35rem)의 70% (너비는 이미지 비율에 맞춰 확대)
- 푸터
- 브랜드 로고 너비: 10rem
- 버튼: 문자박스 높이 상하 + 0.5rem, 너비 좌우 + 2rem
- 특정 개체(element)에만 사용하는 클래스명: BEM 방법론을 따르되, 각 Block/Element/Modifier 가 두 단어 이상인 경우 camelCase로 표기해 하이픈과 언더바 사용을 줄인다.
- 여러 개체가 공유하는 클래스명: kebab-case로 작성한다.
- kebab-case로 작성하나, 특정 개체와 연관된 경우 해당 개체의 클래스명을 따라 BEM 방법론을 적용한다