-
티스토리 스킨 만들기 강좌 #001 - 1단 스킨(4) 카테고리 메뉴를 드롭다운 메뉴로 만들기티스토리 스킨 강좌/1단 스킨 2021. 10. 6. 00:18
드롭다운 메뉴는 1뎁스 메뉴에 마우스를 올리면 2뎁스 메뉴가 나타나는 방식입니다.
여기서는 티스토리 카테고리 메뉴를 보여주는 치환자
내부를 수정하도록 하겠습니다.1. 카테고리 메뉴 디자인 수정하기
- .area_menu 디자인 수정하기
- @media screen and (min-width: 821px) { 안에 있는 .area_menu 디자인 수정하기
- .area_menu .list_gnb .link_gnb 디자인 수정하기
- (권장) 필요없는 코드 제거하기
- @media screen and (min-width: 821px) { 의 .area_menu .list_gnb .link_gnb 코드 삭제하기
- (권장) 필요없는 코드 제거하기
.area_menu 로 검색해서, 다음 코드로 수정합니다. (보더라인과 트랜지션을 제거합니다.)
.area_menu { position: fixed; overflow: auto; }
마찬가지로 @media screen and (min-width: 821px) { 안에 있는 .area_menu 코드도 수정해줍니다.
margin: 20px auto 로 수정했는데, 위아래 여백을 20px 씩 주겠다는 뜻입니다.
.area_menu { position: relative; max-width: 800px; margin: 20px auto; overflow: visible; background: #fff; border: 1px solid #000; }
바로 밑에 다음 코드를 추가합니다.
.category_list > li { position: relative; }
CSS 탭에서 .area_menu .list_gnb .link_gnb 를 검색하여, 관련 부분을 다음과 같이 수정했습니다.
(일부 코드 삭제처리)
.area_menu .list_gnb .link_gnb { display: block; padding: 15px; font-size: 16px; font-weight: bold; } .area_menu .list_gnb .list_lnb .link_lnb { display: block; padding: 15px; } .area_menu .list_gnb .sub_category_list { display: none; position: absolute; top: 100%; width: 100%; border: 1px solid #000; border-top: 0; z-inex: 100; background: #fff; }
그리고 그 하단에 있는 .area_menu .list_sns 부분과, .area_menu .box_visit 부분 CSS 를 삭제합니다.
필요없는 코드라서 삭제합니다. 건너뛰어도 무방합니다.
@media screen and (min-width: 821px) { 로 검색하여 괄호 안에 있는 .area_menu .list_gnb .list_lnb 코드를 삭제합니다.
해당 코드 바로 아래에 있는 쓸모없는 코드도 같이 지워줍니다. (건너뛰어도 무방합니다.)
2. (선택) 뉴 아이콘이나 글 개수를 지우기
카테고리 목록에 생기는 뉴 아이콘이나 갯수 표시를 지우고 싶으면, 다음 코드를 추가해줍니다.
// 1뎁스 메뉴의 카테고리 개수 제거 .area_menu .list_gnb .link_gnb .c_cnt{ display: none; } // 1뎁스 메뉴의 뉴 아이콘 제거 .area_menu .list_gnb .link_gnb img{ display: none; } // 2뎁스 메뉴의 뉴 아이콘 제거 .area_menu .list_gnb .list_lnb .link_lnb img{ display: none; } // 2뎁스 메뉴의 카테고리 개수 제거 .area_menu .list_gnb .list_lnb .link_lnb .c_cnt{ display: none; }
3. 카테고리 메뉴를 드롭다운 메뉴로 만드는 코드 추가
- HTML 탭 최하단 script 사이에 다음 코드를 추가합시다.
이제 드롭다운 메뉴로 만드는 코드를 추가합니다.
이 코드는 마우스 오버한 메뉴의 서브 메뉴만 보여주는 형식입니다.
HTML 탭 최하단으로 가서, script 사이에 다음 코드를 추가합니다.
$(document).ready(function () { $('.area_menu .list_gnb .link_gnb').on("mouseenter mouseover focus", function () { $('ul.sub_category_list').hide(); $(this).siblings('ul.sub_category_list').show(); }); $('.area_menu .list_gnb').on("mouseleave blur", function () { $('ul.sub_category_list').hide(); }); });
3-1. 마우스 오버 시에 전체 메뉴가 보이게 하고 싶으면?
만약 마우스 오버 시에 전체 메뉴가 다 나타나길 원한다면, 다음 코드를 사용하세요.
이 코드가 바뀌었다고 해서 밑에서 달라지는 부분은 없습니다.
$(document).ready(function () { $('.area_menu .list_gnb').on("mouseenter mouseover focus", function () { $('ul.sub_category_list').show(); }).on("mouseleave blur", function () { $('ul.sub_category_list').hide(); }); });
4. 오류 수정하기
- @media screen and (max-width: 820px) { 안에 있는 .area_menu .list_gnb .list_lnb 코드 수정하기
이렇게 되면, 모바일에서도 스크립트가 동시에 적용이 되어버립니다.
피시에서만 메뉴가 온오프 되도록 CSS 를 수정하겠습니다.
@media screen and (max-width: 820px) { 안에 있는 .area_menu .list_gnb .list_lnb 코드를 검색해서 찾습니다.
노란색 영역 아래 코드로 수정합니다.
아까 피시에서 보더 디자인을 줬기 때문에 이부분도 수정해줍니다.
.area_menu .list_gnb .list_lnb { display: block !important; position: static; border: 0; background: none; }
그러면 이제 성공적으로 마우스 오버 시에 메뉴가 나타났다가 사라지는 걸 볼 수 있습니다.
모바일 화면에서 보기 PC 에서 보기 뭔가 잘못되었다면, 위에서부터 다시 천천히 따라해보세요.
다음 글에서 계속 적겠습니다.
'티스토리 스킨 강좌 > 1단 스킨' 카테고리의 다른 글
티스토리 스킨 만들기 강좌 #001 - 1단 스킨(6) 본문 디자인 수정하기 (0) 2021.10.08 티스토리 스킨 만들기 강좌 #001 - 1단 스킨(5) 목록, 페이징 디자인 수정하기(일반 게시판 타입) (0) 2021.10.06 티스토리 스킨 만들기 강좌 #001 - 1단 스킨(3) 레이아웃 가운데 정렬, PC 로고 추가하기 (0) 2021.10.05 티스토리 스킨 만들기 강좌 #001 - 1단 스킨(2) 헤더 변경하기 (9) 2021.10.05 티스토리 스킨 만들기 강좌 #001 - 1단 스킨(1) 메인 레이아웃 변경하기 (0) 2021.10.05