当前位置: 首页 > 知识库问答 >
问题:

使用Flexbox在下拉菜单上开始需要帮助

林星华
2023-03-14

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

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

null

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>

null

共有1个答案

谷梁昊空
2023-03-14

当屏幕尺寸低于1400px时,这个额外的CSS代码将创建一个移动切换按钮汉堡。您还需要为mobile nav菜单添加html代码和css,以及几行javascript来使切换工作。

null

.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;
}
html lang-html prettyprint-override"><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>
 类似资料:
  • 问题内容: 我从我的C#网络方法中以这种格式重新获得了JSON: 我现在有一个asp.net下拉列表。好吧,它呈现为带有id 的html下拉列表。 我收到有关AJAX请求的成功警报。如何将这些结果填充到我的#city下拉列表中? 试过这个: 问题答案: 以下是在回调内部应做的事情: 示例: http : //jsfiddle.net/z2D8f/ 或一次附加全部HTML的替代方法,这可能会更快:

  • 问题内容: 我使用纯CSS创建了一个下拉菜单,并且将其放到我喜欢的地方,但我希望它是“下拉”而不是“下拉”,因为菜单栏位于菜单的底部。布局。我需要添加或更改以使其成为“下拉菜单”吗? 问题答案: 添加到您的规则 还是要防止子菜单具有相同的效果,只需添加此规则 演示2 为了获得边框,您可以添加以下属性

  • 本文向大家介绍纯css下拉菜单 无需js,包括了纯css下拉菜单 无需js的使用技巧和注意事项,需要的朋友参考一下 再来个今天某人说过的例子:纯css下拉菜单: 效果图 这个的实现很简单,主要是:hover和过渡属性transition的使用。 代码: 因为ul是个伸缩对象,所以要让它脱离文档流,不是在实用时会影响到布局,给它一个绝对定位即可。 以上就是本文的全部内容,希望对大家的学习有所帮助,也

  • 问题内容: 我正在尝试制作一个简单的CSS下拉菜单,当您将鼠标悬停在链接上时,将显示子菜单。当您将鼠标悬停在li上时,我已经设法实现了这一点,但无法弄清楚如何使用链接来实现。 我之所以尝试使用链接而不是li来执行此操作,是因为我的菜单宽度为100%,并且li所占的面积比链接大,因此,如果将鼠标悬停在该区域上,则不显示该子菜单不想。 我的CSS如下: 问题答案: 如果可能的话,我会避免使用JS。这不

  • 主要内容:用法,实例,实例,选项,方法,实例Bootstrap 下拉菜单 这一章讲解了下拉菜单,但是没有涉及到交互部分,本章将具体讲解下拉菜单的交互。使用下拉菜单(Dropdown)插件,您可以向任何组件(比如导航栏、标签页、胶囊式导航菜单、按钮等)添加下拉菜单。 如果您想要单独引用该插件的功能,那么您需要引用 dropdown.js。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版的

  • 主要内容:实例,选项,实例,实例,更多实例本章将重点介绍 Bootstrap 下拉菜单。下拉菜单是可切换的,是以列表格式显示链接的上下文菜单。这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现。 如需使用下拉菜单,只需要在 class .dropdown 内加上下拉菜单即可。下面的实例演示了基本的下拉菜单: 实例 <div class="dropdown"> <button type="button" c

  • 主要内容:实例,实例,下拉菜单中的分割线,实例,下拉菜单中的标题,实例,下拉菜单中的可用项与禁用项,实例,下拉菜单的定位,实例,下拉菜单弹出方向设置,实例,实例,实例,下拉菜单设置文本,实例,按钮中设置下拉菜单,实例,实例Bootstrap4 下拉菜单依赖于 popper.min.js。 下拉菜单是可切换的,是以列表格式显示链接的上下文菜单。 实例 <div class="dropdown"> <button type="button" class="btn btn-primary dropdo

  • 介绍 向下弹出的菜单列表。 引入 import { createApp } from 'vue'; import { DropdownMenu, DropdownItem } from 'vant'; const app = createApp(); app.use(DropdownMenu); app.use(DropdownItem); 代码演示 基础用法 <van-dropdown-me