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');
    }
}