JSFiddle - React, Tailwind, and code Playground
by birdie2019
HTML
<nav>
<div class="container">
<ul class="main-index">
<li><a href="#">首頁</a></li>
<li><a href="#">全部商品</a></li>
<li><a href="#">全部品牌</a></li>
<li><a class="about-us" href="#">關於我們</a>
<ul class="sub-index">
<li><a href="#"> 團隊介紹</a></li>
<li><a href="#"> 企業宗旨</a></li>
<li><a href="#"> 創業故事</a></li>
</ul>
</li>
</ul>
</div>
</nav>
SCSS
* {
box-sizing: border-box;
margin: 0;
padding: 0;
font-size: 16px;
letter-spacing: 1px;
list-style: none;
text-decoration: none;
color: #777;
}
.container {
width: 500px;
margin: 0px auto;
}
nav {
box-shadow: 0 0 5px rgba(189, 189, 189, 0.5);
.main-index {
display: flex;
justify-content: space-between;
position: relative;
li {
position: relative;
a {
display: block;
padding: 15px;
color: #555;
transition: all 0.3s;
&:hover {
color: rgb(61, 203, 203);
}
}
}
.sub-index {
display: none;
box-shadow: 0 0 5px rgba(189, 189, 189, 0.5);
position: absolute;
top: 55px;
right: 5px;
border-radius: 5px;
overflow: hidden;
li {
border-bottom: 1px solid #eaeaea;
a {
padding: 10px;
transition: all 0.3s;
&:hover {
background-color: rgba(61, 203, 203, 0.1);
}
}
}
&.show {
display: block;
}
}
}
}
JavaScript
let aboutUsBtn = document.querySelector('.about-us');
let subIndex = document.querySelector('.sub-index');
aboutUsBtn.onclick = showToggle;
window.onclick = close;
function showToggle() {
subIndex.classList.toggle('show');
console.log(subIndex);
}
function close() {
if (!event.target.matches('.show') && event.target != aboutUsBtn) {
subIndex.classList.remove('show');
}
}