【问题标题】:Need help getting started on dropdown menu using Flexbox需要帮助开始使用 Flexbox 的下拉菜单
【发布时间】:2020-10-15 23:29:27
【问题描述】:

我需要帮助来开始或如何使用 flexbox 和我已经拥有的代码来启动我的下拉菜单。我已经从我看过的教程开始使用普通导航栏,但是教程没有包含下拉菜单,所以我自己添加了一个。

  • 首页
  • 关于
  • 投资组合
  • 平面设计
  • 数码肖像
  • 插图
  • 服务
  • 联系我

const toggleButton = document.getElementsByClassName('toggleButton')[0]
const navbarLinks = document.getElementsByClassName('navbarLinks')[0]

toggleButton.addEventListener('click', () => {
    navbarLinks.classList.toggle('active')
})
.navBar{
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #91CEC9;
    color: #FFF;    
}

.navbarLinks ul{
    margin: 0;
    padding: 0;
    display: flex;
}

.navbarLinks li{
    list-style: none;
}

.navbarLinks li a{
    text-decoration: none;
    color: #FFF;
    padding: 42px;
    display: block;
    font-size: 20px;
}

.navbarLinks li a:hover{
    background-color: #163640;
}
<nav class="navBar">
        
        <div class="logo">
            <!--Jackie Gray-->
            <img src="images/Logo2.png" alt="jgray logo">
        </div>
        
        <a href="#" class="toggleButton">
            <span class="bar"></span>
            <span class="bar"></span>
            <span class="bar"></span>
        </a>
        
        <div class="navbarLinks">
            
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Portfolio</a>
                        <li><a href="#">Graphic Design</a></li>
                <li><a href="#">Digital Portrait</a></li>
                <li><a href="#">Illustrations</a></li>
                </li>
                <li><a href="#">Services</a></li>
                <li><a href="#">Contact Me</a></li>
            </ul>
        
        </div>
    
    </nav>

【问题讨论】:

  • 您首先需要使用 CSS 创建和设置切换按钮的样式。您的切换没有 CSS 样式代码,因此它现在不存在。

标签: javascript html css drop-down-menu flexbox


【解决方案1】:

当屏幕尺寸低于 1400 像素时,此附加 CSS 代码将创建一个移动切换按钮汉堡。您需要为移动导航菜单添加 html 代码和 css 以及几行 javascript 以使切换也能正常工作。

.navBar{
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #91CEC9;
    color: #FFF;    
}

.navbarLinks ul{
    margin: 0;
    padding: 0;
    display: flex;
}

.navbarLinks li{
    list-style: none;
}

.navbarLinks li a{
    text-decoration: none;
    color: #FFF;
    padding: 42px;
    display: block;
    font-size: 20px;
}

.navbarLinks li a:hover{
    background-color: #163640;
}


#nav-icon3{width:40px;height:45px;position:relative;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.5s ease-in-out;-moz-transition:.5s ease-in-out;-o-transition:.5s ease-in-out;transition:.5s ease-in-out;cursor:pointer;position:absolute;top:25px;right:25px;}
#nav-icon3 span{display:block;position:absolute;height:5.5px;width:100%;background:#000;border-radius:7px;opacity:1;left:0;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:.25s ease-in-out;-moz-transition:.25s ease-in-out;-o-transition:.25s ease-in-out;transition:.25s ease-in-out;}
#nav-icon3 span:nth-child(1){top:0px;}
#nav-icon3 span:nth-child(2){top:12px;}
#nav-icon3 span:nth-child(2){width:50%!important;}
@media screen and (min-width:1379px){
#nav-icon3{display:none;}
}
@media screen and (max-width:1390px){
  
#nav-icon3{
  display:block!important;}
  .navbarLinks {display:none;}
}

.logo img {
  height:50px;width:50px;
}
<nav class="navBar">
        
        <div class="logo">
            <!--Jackie Gray-->
            <img src="https://global-uploads.webflow.com/5e157547d6f791d34ea4e2bf/5e17558f848f82e664c09d67_logo-dark.svg" alt="jgray logo">
        </div>
        
        <a href="#" id="nav-icon3">
            <span class="bar"></span>
            <span class="bar"></span>
            <span class="bar"></span>
        </a>
        
        <div class="navbarLinks">
            
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Portfolio</a>
                        <li><a href="#">Graphic Design</a></li>
                <li><a href="#">Digital Portrait</a></li>
                <li><a href="#">Illustrations</a></li>
                </li>
                <li><a href="#">Services</a></li>
                <li><a href="#">Contact Me</a></li>
            </ul>
        
        </div>
    
    </nav>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多