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

如何使汉堡包菜单显示下拉列表

宁卓
2023-03-14

我正在学习Bootstrap 4,我已经成功地把我的navbar中的内容变成了汉堡菜单,就像我想要的那样,在更小的屏幕尺寸下。我现在遇到的问题是,成为汉堡菜单的其中一个东西是一个Browse按钮,它以更大的屏幕尺寸显示下拉列表:

在较小的屏幕尺寸下,它确实变成了一个汉堡包菜单,但当我点击汉堡包菜单时,浏览按钮就会出现在它的右边,而这并不是我想要的:

我正在尝试消除在较小屏幕尺寸的点击,并使汉堡包菜单显示下拉列表时直接点击,而不是必须点击汉堡包菜单然后点击弹出的浏览按钮。

这是我的HTML:

<!-- browse button hamburger menu button -->
<a class="navbar-toggler border" role="button" data-toggle="collapse" data-target="#navbarBrowseButton">
    <span class="navbar-toggler-icon text-center">
        <i class="fas fa-bars"></i>
    </span>
</a>

<!-- browse button collapse content -->
<div class="collapse navbar-collapse" id="navbarBrowseButton">
    <a class="btn btnBrowse dropdown-toggle" role="button" data-toggle="dropdown">Browse</a>
        <div class="dropdown-menu">
            <a href="#" class="dropdown-item">Games</a>
            <a href="#" class="dropdown-item">Popular Lists</a>

为了简单起见,我拿出了ARIA的东西,并且尝试为下拉菜单提供一个id,并更改数据目标以不同程度的成功,但它现在仍然按照我想要的方式工作。

共有1个答案

万铭
2023-03-14

您可以对其使用js

添加了bg-dark navbar-dark类用于切换器显示目的。

null

$('#navbarBrowseButton').on('shown.bs.collapse', function() {
  $('#navbarBrowseButton .btnBrowse').click();
});

$('#navbarBrowseButton').on('hidden.bs.collapse', function() {
  $('#navbarBrowseButton').collapse('hide');
  $('#navbarBrowseButton').dropdown('hide');
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

<!-- browse button hamburger menu button -->
<a class="navbar-toggler border bg-dark navbar-dark" role="button" data-toggle="collapse" data-target="#navbarBrowseButton">
  <span class="navbar-toggler-icon text-center">
            <i class="fas fa-bars"></i>
        </span>
</a>

<!-- browse button collapse content -->
<div class="collapse navbar-collapse" id="navbarBrowseButton">
  <a class="btn btnBrowse dropdown-toggle" role="button" data-toggle="dropdown">Browse</a>
  <div class="dropdown-menu">
    <a href="#" class="dropdown-item">Games</a>
    <a href="#" class="dropdown-item">Popular Lists</a>
  </div>
</div>

<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
 类似资料:
  • 我有一个boostrap navbar和一个css媒体查询来折叠它,并使它通过一个汉堡包按钮打开,当屏幕低于一定的尺寸(对于移动设备)。但是,我的navbar中也有一个下拉菜单,当navbar全屏展开时,下拉菜单很好地工作,但是当我从hamburger版本的navbar中打开它时,下拉菜单中的按钮不会显示。 下面是NAVBAR的html代码: 这是折叠navbar的CSS媒体查询: 这是我的nav

  • 本文向大家介绍如何使用CSS绘制一个汉堡式菜单相关面试题,主要包含被问及如何使用CSS绘制一个汉堡式菜单时的应答技巧和注意事项,需要的朋友参考一下 比较常见的两种方法: 利用元素自身、和伪元素绘制3个长宽一致的矩形,然后设定其y偏移值。 利用上下和自身元素内容绘制:

  • 我最近一直在搞乱C#中的selenium。我偶然发现了一个我目前无法解决的问题。基本上,我试图打开网站左上角的汉堡包“菜单”,并悬停到它的第一个菜单项:“Loterie”,这应该会触发另一个子菜单,在汉堡包菜单旁边弹出一些“子选项”到“Loterie”。 场景将是:菜单->Loterie->用户能够看到这些选项:Sportka/Eurojackpot/Rychle Kacky/等等... 首先,我

  • 问题内容: 首先,我讨厌提出一个已经解决的问题,但是您应该知道我在此站点上找到的其他选项对我不起作用。 基本上,我想构造一个简短的表格,其中有两个下拉框。始终显示第一个,默认情况下隐藏第二个。在第一个下拉框中选择某个选项后,我希望第二个下拉框显示。这是我的意思的完美示例: 但是,与上面的示例不同,我有单独的一组选项要显示在下拉框中,以显示在第一个下拉框中选择的每个选项,而不仅是其中一个选项。换句话

  • 我的引导菜单中有下拉列表。 我试图在下拉列表中选择选项作为下拉列表的标题,而不是“选择选项”,就像现在一样。我已经尝试了在这个和其他一些网站上找到的几个解决方案,但无法使它们中的任何一个工作。 有人能帮忙吗?

  • 问题内容: 我在skelton框架中使用superfish下拉菜单。我也希望它能在手机上使用。默认情况下,它显示下拉菜单项,但将鼠标悬停在其下面的项上。我想以某种方式使其具有将父项推到其下方的方式。有什么办法吗? 问题答案: 这是一个更好的答案 我能够将Superfish的相同HTML转换为响应式抽屉菜单。JS非常简单,整个过程基本上都是使用CSS完成的。检查一下,让我知道你们的想法!