HTML | CSS
드롭다운 상단 메뉴바 만들기
멈머이
2023. 10. 3. 21:22
728x90
구현된 모습


1. html 코드
<header class="top-bar con-min-width">
<div class="con">
<nav class="top-bar__menu-box-1">
<ul>
<li>
<a href="#">menu1</a>
<ul>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
</ul>
</li>
<li>
<a href="#">menu2</a>
<ul>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
</ul>
</li>
<li>
<a href="#">menu3</a>
<ul>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
</ul>
</li>
<li>
<a href="#">menu4</a>
<ul>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
<li><a href="#">text1</a></li>
</ul>
</li>
</ul>
</nav>
</div>
</header>
2.css코드
<style>
body, ul, li{
margin: 0;
padding: 0;
list-style: none;
}
a{
color: inherit;
text-decoration: none;
}
.top-bar__menu-box-1>ul ul{
display: none;
}
a{
font-style: 3rem;
}
.con{
margin-left: auto;
margin-right: auto;
}
:root{
--site-width:1200px
}
.con-min-width{
min-width: var(--site-width);
}
.top-bar>.con{
width: var(--site-width);
}
.top-bar__menu-box-1>ul>li{
display: inline-block;
}
.top-bar__menu-box-1{
margin-top: 100px;
text-align: center;
}
.top-bar__menu-box-1 ul{
background-color: white;
color: black;
}
.top-bar__menu-box-1 ul > li >a {
display: block;
font-size: 3rem;
padding: 10px 50px;
border: 10px solid rgb(0, 0, 0);
}
.top-bar__menu-box-1 ul > li:hover >a {
background-color: #555;
}
.top-bar__menu-box-1>ul>li:hover>ul{
display: block;
}
.top-bar__menu-box-1>ul>li{
position: relative;
}
.top-bar__menu-box-1>ul>li>ul{
position: absolute;
top: 100%;
left: 0;
width: 100%;
}
</style>
주의할 점
- text-decoration 은 none으로 주어야 a태그의 밑줄이 사라진다.
- list-style 은 none으로 주어야 ul,li 태그앞의 동그라미 기호가 사라진다.
- 하위 ul이 커서를 올리기 전까지 보이지 않게 하기 위해 ul의 display : none.
- 상위 ul 내부의 li 들이 가로로 보여져야 하기 때문에 li의 display : inline-block.
728x90