JavaScript 系列三:練習6
dropdown 下拉式選單
by applelily
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JavaScript 系列三:練習6 ── dropdown 下拉式選單</title>
<link rel="stylesheet" href="./reset.css">
<link rel="stylesheet" href="./06_js_dropdown.css">
</head>
<body>
<nav>
<div class="logo-header">
<a href="#">Apple.lily</a>
</div>
<ul class="main_nav">
<li>
<a href="#">首頁</a>
</li>
<li>
<a href="#">全部商品</a>
</li>
<li>
<a href="#">全部品牌</a>
</li>
<li class="about_me">
<a href="#">關於我們</a>
<ul>
<li><a href="#">團隊介紹</a></li>
<li><a href="#">企業宗旨</a></li>
<li><a href="#">創業故事</a></li>
</ul>
</li>
</ul>
</nav>
<script src="./06_js_dropdown.js"></script>
</body>
</html>
CSS
body{
background-color:#E4E4E4 ;
}
nav{
.logo-header{
display:table;
float:left;
vertical-align: middle;
padding: 0;
padding-left: 10px;
color: #efbb20;
margin: 0;
width: 80px;
height: 60px;
position: relative;
z-index: 9;
transition: all 0.5s;
}
.logo-header:before{
content:"";
position:absolute;
bottom: 0;
height: 100%;
z-index: -1;
right: -20px;
width: 70%;
transform: skew(30deg);
background-color: #ffe10a;
}
.logo-header:after{
content:"";
position: absolute;
bottom: 0;
height: 100%;
z-index: -1;
right: 10%;
width: 2000px;
background-color: #ffe10a;
}
.logo-header a{
color: #22272b;
font-size: 30px;
font-weight: 500;
line-height: 60px;
text-decoration: none;
}
.main_nav{
background-color: #22272b;
display: flex;
justify-content: space-around;
li{
position: relative;
color: #f1f1f1;
a{
display:block;
text-align: center;
color: #f1f1f1;
padding: 10px;
text-decoration: none;
line-height: 2.5;
width: 120px;
box-sizing: border-box;
border-radius: 3px;
letter-spacing: 3px;
}
a:hover{
color: #22272b;
background-color: #efbb20;
transition: 0.3s;
}
}
ul{
position: absolute; /* 為了讓背景色不要延伸 ,配合父層 li position: relative*/
display: none;
width: fit-content;
flex-direction: column;
top: 100%;
right: 0;
...
JavaScript
const elem_about_list = document.querySelector('.about_me');
function open_list(){
elem_about_list.classList.toggle('open_list');
}
elem_about_list.onclick = open_list;