【发布时间】:2021-07-05 20:34:51
【问题描述】:
我有一个导航栏,我目前正在尝试向其中添加子菜单。样式等适用于引导程序,但似乎引导程序提供的某些操作实际上并未应用于标题。
在 bootstrap 的网站上,他们有这个 sn-p:
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true"> <span class="nav-label">Services</span> <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Service A</a></li>
<li><a href="#">Service B</a></li>
<li class="dropdown-submenu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> <span class="nav-label">Service C</span><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Service C1</a></li>
<li><a href="#">Service C2</a></li>
<li><a href="#">Service C3</a></li>
<li><a href="#">Service C4</a></li>
<li><a href="#">Service C5</a></li>
</ul>
</li>
</ul>
</li>
</ul>
我已经应用了这个,而菜单看起来像这样:
它实际上最终看起来像这样(减去颜色样式):
注意插入符号的定位和旋转方式不同,悬停不会导致子菜单弹出。
我已经检查了我所有的自定义 CSS,并且没有没有修改子菜单类。出于某种原因,这让我感到有些事情正在发生,我完全没有想法。
如果我从 bootstrap 示例中完全复制 css,然后会显示子菜单,但是我已经在 bootstrap 中加载,所以这不是必需的......这是我加载它的方式:
<head>
<link rel="stylesheet" href="/assets/bootstrap-3.3.7-dist/css/bootstrap.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="/assets/bootstrap-3.3.7-dist/js/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="/assets/css/global.css?v=21">
<link rel="stylesheet" type="text/css" href="/assets/css/header.css">
<link rel="stylesheet" type="text/css" href="/assets/css/footer.css">
<link href='https://fonts.googleapis.com/css2?family=Montserrat' rel='stylesheet' type='text/css'>
</head>
header.css 和 footer.css 各只有几行,都与此无关。就像我说的那样,我已经搜索了整个global.css,并且没有与此相关的内容。只是一个color 属性。
显然标题在某种意义上是引导程序,因此 部分 正在应用引导程序,但这个子菜单的东西显然不是。
JsFiddle:https://jsfiddle.net/qfLt8h1j/
如果有人有任何想法,那就太好了。在这一点上,我不知所措。
【问题讨论】:
-
我认为是因为你没有加载 popperjs。
-
你能做一个jsfiddle吗?
-
在问题中添加了一个 jsfiddle
-
您发布的代码示例来自Bootstrap Essentials,与Bootstrap不同。如果您想使用该子菜单设置,请访问 Essentials 的站点并下载他们的 CSS 和 JS 文件并使用他们的模板作为您的起点(我将他们的文件添加到您页面的本地副本中,一切正常)。如果您想使用较新版本的 Bootstrap(4.6.0 而不是 3.3.7),那么这个答案可能会帮助您做多级菜单:stackoverflow.com/a/61332652/1011984。
-
我没有意识到引导程序的基本要素和引导程序是不同的东西。我下载了 bootstrap Essentials 的 css 和 js(现在通过
<link rel="stylesheet" href="/assets/bootstrap-3.3.7-dist/css/bootstrap.css">和<script src="/assets/bootstrap-3.3.7-dist/js/bootstrap.js"></script>导入它们,我仍然遇到子菜单没有扩展的问题:/我用这些更新了我的问题。
标签: javascript html jquery css twitter-bootstrap