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;