HTML과 CSS를 이용한 햄버거 메뉴 만들기!
먼저 햄버거 메뉴의 HTML 구조를 구축합니다.
<div class="hamContainer">
<input type="checkbox">
<div class="hamLines">
<span class="line line1"></span>
<span class="line line2"></span>
<span class="line line3"></span>
</div>
<div class="hamItems">
<ul>
<li><a href="home">home</a></li>
<li><a href="home">about</a></li>
<li><a href="home">content</a></li>
<li><a href="home">about</a></li>
<li><a href="home">privacy</a></li>
<li><a href="home">download</a></li>
</ul>
</div>
</div>
구조가 완료되었습니다. 이제 Css를 작성합니다.
*{
padding: 0;
margin: 0;
box-sizing: content-box;
}
body{
background-color: blueviolet;
display: flex;
justify-content: center;
align-content: center;
}
.hamContainer{
margin-top: 5%;
width: 30rem;
}
.hamContainer input{
height: 50px;
width: 50px;
z-index: 3;
opacity: 0;
}
.hamContainer .hamLines{
width: 50px;
height: 50px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-content: center;
position: absolute;
top: 10%;
z-index: -1;
/* opacity: 0; */
}
.hamContainer .hamLines span{
height: 5px;
width: 65px;
background: black;
}
.hamContainer .hamItems{
height: 25rem;
width: 20rem;
background: #ffff;
display: flex;
justify-content: center;
align-content: center;
display: none;
padding: 1rem;
border-radius: 30px;
}
.hamContainer .hamItems ul{
list-style: none;
text-decoration: none;
text-transform: capitalize;
font-size: 2em;
}
.hamContainer .hamItems ul li{
margin: 1.5rem 0 0 2rem;
}
.hamContainer .hamItems ul li a{
text-decoration: none;
color: black;
}
.hamContainer .hamItems ul li a:hover{
background: #6666;
padding: 0.3rem 0.5rem;
border-radius: 30px;
border: 3px solid black;
}
.hamContainer .hamLines .line1{
transform-origin: 0% 0%;
transition: transform 0.4s ease-in-out;
}
.hamContainer .hamLines .line2{
transition: transform 0.4s ease-in-out;
}
.hamContainer .hamLines .line3{
transform-origin: 0% 100%;
transition: transform 0.4s ease-in-out;
}
.hamContainer input[type="checkbox"]:checked ~ .hamItems{
display: block;
}
.hamContainer input[type="checkbox"]:checked ~ .hamLines .line1{
transform: rotate(45deg);
}
.hamContainer input[type="checkbox"]:checked ~ .hamLines .line2{
transform: scaleY(0);
}
.hamContainer input[type="checkbox"]:checked ~ .hamLines .line3{
transform: rotate(-45deg);
}
데모: Hamburger
중요한 것은 확인란을 클릭할 때 확인란입니다. 그렇지 않으면 탐색 항목이 표시됩니다. 그렇지 않으면 확인란 클릭에 따라 숨겨집니다. & line2 숨기기 & line1 line3 십자가로 변경.
더 많은 것들이 나를 따라
오픈 소스 프로젝트 후속gitHub
멋진 Css 애니메이션을 찾고 있다면 나를 팔로우하세요CodePen.
Reference
이 문제에 관하여(HTML과 CSS를 이용한 햄버거 메뉴 만들기!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fairywsr/how-to-create-hamburger-menu-using-html-css-2873텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)