햄버거 버튼과 서랍 메뉴
13321 단어 자신의 메모
햄버거 메뉴 구조
· HTML
· CSS
・javascript(jquery)
1. HTML로 '햄버거 아이콘'과 '표시되는 메뉴' 만들기
2. JavaScript (jquery)로 햄버거 아이콘 클릭 액션 만들기
3.2 클릭 액션으로 각 div에 클래스를 추가하거나 지우기
4.3의 class의 유무로 div의 CSS가 변화해, 메뉴의 표시·비표시가 행해진다
1. 햄버거 (3) 버튼
(3) 버튼을 누르면 (☓) 버튼으로 전환 메뉴가 표시된다
2. 닫기(☓) 버튼
닫기 버튼을 누르면 메뉴가 숨겨지고 (3) 버튼으로 전환됩니다.
3. 메뉴 부분(통상시 숨기기)(클릭시 표시)
닫기 버튼을 누르면 메뉴 부분이 숨겨집니다.
(예) 햄버거 메뉴를 만드는 방법 (순서)
1. 햄버거 메뉴가 되는 곳 만들기
2. 햄버거 메뉴 배경 만들기 (배치)
3. 버튼(삼본선) 만들기
4. 클릭하면 닫기 버튼 (☓)으로 설정 (전환)
5. 메뉴 표시/숨기기
그 밖에도 만드는 방법이 있어, 이 만드는 방법이 올바른 것은 아니다.
※span으로 만들거나, div나 체크 박스, a, button등으로 만들고 있는 것을 본다.
1. 햄버거 버튼의 기초가 되는 코드
<div class="humburger"><!--ハンバーガーボタン-->
<span></span>
<span></span>
<span></span>
</div>
2. 배경 만들기
.humburger {
background-color: beige; /*分かりやすく色をbeigeに*/
position: fixed; /*今回は固定して作ってます*/
top: 10px;
right: 10px;
width: 40px;
height: 40px;
}
3. 삼본선 만들기
.humburger span {
width: 30px;
height: 1px;
background-color: #333;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: 0.3s; /*真ん中の線がゆっくり消えるように*/
}
.humburger span:nth-of-type(1) {
transform: translate(-50%, -10px);
}
.humburger span:nth-of-type(3) {
transform: translate(-50%, 9px);
}
4. 클릭하면 ☓ 버튼이 되도록 전환
중간의 선을 지우고, 상하의 선을 ☓로 한다.
.humburger.active span:nth-of-type(1) {
transform: rotate(45deg) translate(-50%, 0);
transform-origin: 0% 50%;
}
.humburger.active span:nth-of-type(2) {
opacity: 0;
}
.humburger.active span:nth-of-type(3) {
transform: rotate(-45deg) translate(-50%, 0);
transform-origin: 0% 50%;
}
클릭하면 active를 추가합니다.
document.addEventListener('DOMContentLoaded', function() {
document.getElementById("humburger").addEventListener("click", function() {
this.classList.toggle("active")
})
});
5. 메뉴 표시/숨기기
바탕이 되는 메뉴 만들기, CSS로 배치나 색등을 결정한다.
클릭하면 오른쪽에서 nav가 표시되고 다시 클릭하면 닫도록 한다. (드로어메뉴-같게 한다)
<nav id="nav">
<ul>
<li><a href="">menu0</a></li>
<li><a href="">menu1</a></li>
<li><a href="">menu2</a></li>
<li><a href="">menu3</a></li>
<li><a href="">menu4</a></li>
</ul>
</nav>
nav {
position: fixed;
top: 0px;
right: -200px;
width: 180px;
height: 100%;
padding: 40px 30px 0 0;
opacity: 0;
transition: 0.4s;
visibility: hidden;
background-color: #ddd;
text-align: center;
z-index: -1;
}
nav.active {
opacity: 1;
visibility: visible;
right: 0;
}
a {
font-size: 2rem;
color: black;
}
li {
padding: 5px 0 10px 0;
padding-top: 20px;
}
4로 작성된 javascript에 (nav active 추가)
document.addEventListener('DOMContentLoaded', function() {
document.getElementById("humburger").addEventListener("click", function() {
this.classList.toggle("active");
document.getElementById("nav").classList.toggle("active");
})
});
이번에 작성한 코드로 만든 것
(클릭 전) 이미지가 확대되고 있습니다.
왼쪽 문자나 버튼은 걱정하지 마십시오.
(클릭 후)
Reference
이 문제에 관하여(햄버거 버튼과 서랍 메뉴), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/masaki1117/items/3d033a6b5f78cf279e16
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. 햄버거 메뉴가 되는 곳 만들기
2. 햄버거 메뉴 배경 만들기 (배치)
3. 버튼(삼본선) 만들기
4. 클릭하면 닫기 버튼 (☓)으로 설정 (전환)
5. 메뉴 표시/숨기기
그 밖에도 만드는 방법이 있어, 이 만드는 방법이 올바른 것은 아니다.
※span으로 만들거나, div나 체크 박스, a, button등으로 만들고 있는 것을 본다.
1. 햄버거 버튼의 기초가 되는 코드
<div class="humburger"><!--ハンバーガーボタン-->
<span></span>
<span></span>
<span></span>
</div>
2. 배경 만들기
.humburger {
background-color: beige; /*分かりやすく色をbeigeに*/
position: fixed; /*今回は固定して作ってます*/
top: 10px;
right: 10px;
width: 40px;
height: 40px;
}
3. 삼본선 만들기
.humburger span {
width: 30px;
height: 1px;
background-color: #333;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: 0.3s; /*真ん中の線がゆっくり消えるように*/
}
.humburger span:nth-of-type(1) {
transform: translate(-50%, -10px);
}
.humburger span:nth-of-type(3) {
transform: translate(-50%, 9px);
}
4. 클릭하면 ☓ 버튼이 되도록 전환
중간의 선을 지우고, 상하의 선을 ☓로 한다.
.humburger.active span:nth-of-type(1) {
transform: rotate(45deg) translate(-50%, 0);
transform-origin: 0% 50%;
}
.humburger.active span:nth-of-type(2) {
opacity: 0;
}
.humburger.active span:nth-of-type(3) {
transform: rotate(-45deg) translate(-50%, 0);
transform-origin: 0% 50%;
}
클릭하면 active를 추가합니다.
document.addEventListener('DOMContentLoaded', function() {
document.getElementById("humburger").addEventListener("click", function() {
this.classList.toggle("active")
})
});
5. 메뉴 표시/숨기기
바탕이 되는 메뉴 만들기, CSS로 배치나 색등을 결정한다.
클릭하면 오른쪽에서 nav가 표시되고 다시 클릭하면 닫도록 한다. (드로어메뉴-같게 한다)
<nav id="nav">
<ul>
<li><a href="">menu0</a></li>
<li><a href="">menu1</a></li>
<li><a href="">menu2</a></li>
<li><a href="">menu3</a></li>
<li><a href="">menu4</a></li>
</ul>
</nav>
nav {
position: fixed;
top: 0px;
right: -200px;
width: 180px;
height: 100%;
padding: 40px 30px 0 0;
opacity: 0;
transition: 0.4s;
visibility: hidden;
background-color: #ddd;
text-align: center;
z-index: -1;
}
nav.active {
opacity: 1;
visibility: visible;
right: 0;
}
a {
font-size: 2rem;
color: black;
}
li {
padding: 5px 0 10px 0;
padding-top: 20px;
}
4로 작성된 javascript에 (nav active 추가)
document.addEventListener('DOMContentLoaded', function() {
document.getElementById("humburger").addEventListener("click", function() {
this.classList.toggle("active");
document.getElementById("nav").classList.toggle("active");
})
});
이번에 작성한 코드로 만든 것
(클릭 전) 이미지가 확대되고 있습니다.
왼쪽 문자나 버튼은 걱정하지 마십시오.
(클릭 후)
Reference
이 문제에 관하여(햄버거 버튼과 서랍 메뉴), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/masaki1117/items/3d033a6b5f78cf279e16
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(햄버거 버튼과 서랍 메뉴), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/masaki1117/items/3d033a6b5f78cf279e16텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)