html - 显示在桌面设备上的汉堡菜单
问题描述
我有一个使用 bootstrap 4 和 BEM 方法的简单导航栏,当我运行我的应用程序时,汉堡菜单显示在桌面设备中,而不是被隐藏。
这是 jsfiddle 的链接:Bem Navbar menu
HTML
<nav class="main-nav">
<div class="main-nav__logo">
<li class="main-nav__link">
<a>Majeni</a>
</li>
</div>
<button class="main-nav__toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false"
aria-label="Toggle navigation">
<span class="main-nav__icon navbar-toggler-icon"></span>
</button>
<div class="main-nav__collapse collapse" id="navbarNav">
<ul class="main-nav__list ml-auto">
<li class="main-nav__item--active">
<a class="main-nav__link" href="#">Home
<span class="main-nav__current sr-only">(current)</span>
</a>
</li>
<li class="main-nav__item">
<a class="main-nav__link" href="#">About us</a>
</li>
<li class="main-nav__item">
<a class="main-nav__link" href="#">What we do</a>
</li>
<li class="main-nav__item">
<a class="main-nav__link " href="#">Projects</a>
</li>
<li class="main-nav__item">
<a class="main-nav__link " href="#">Contact</a>
</li>
</ul>
</div>
</nav>
css
.main-nav {
background-color: green;
position: fixed;
top: 0;
left: 0;
display: flex;
justify-content: flex-end;
align-items: stretch;
height: 50px;
width: 100%;
&__item{
padding: 0 2em;
background-color: #088887;
display: flex ;
align-items: center;
}
&__link{
list-style-type: none;
list-style: none;
}
我在我的代码中做错了什么?任何帮助建议,如果有任何错误的方法,请纠正我。感谢
解决方案
看起来您缺少响应式课程,因此它将在您想要的设备上隐藏/可见。
如果您希望它仅在“xs”屏幕上可见,您将添加以下类:
.d-block .d-sm-none
这是一个更新的 JSFiddle(您可能需要展开窗口才能看到它消失) - https://jsfiddle.net/rjysf257/14/
从 Bootstrap 4 文档中提取:
隐藏元素为了更快的移动友好开发,使用响应式显示类按设备显示和隐藏元素。避免为同一站点创建完全不同的版本,而是针对每个屏幕尺寸响应地隐藏元素。
要隐藏元素,只需将 .d-none 类或 .d-{sm,md,lg,xl}-none 类之一用于任何响应式屏幕变化。
要仅在给定的屏幕尺寸间隔上显示元素,您可以将一个 .d- -none类与 .d- -* 类结合使用,例如 .d-none .d-md-block .d-xl-none 将隐藏所有屏幕尺寸的元素,除了中型和大型设备。
屏幕尺寸: 类
全部隐藏: .d-none
仅在 xs 上隐藏: .d-none .d-sm-block
仅在 sm 上隐藏: .d-sm-none .d-md-block
仅在 md 上隐藏: .d-md-none .d-lg-block
仅在 lg 上隐藏: .d-lg-none .d-xl-block
仅在 xl 上隐藏: .d-xl-none
全部可见: .d-block
仅在 xs 上可见: .d-block .d-sm-none
仅在 sm 上可见: .d-none .d-sm-block .d-md-none
仅在 md 上可见: .d-none .d-md-block .d-lg-none
仅在 lg 上可见: .d-none .d-lg-block .d-xl-none
仅在 xl 上可见: .d-none .d-xl-block
推荐阅读
- spring-boot - 尝试访问节点类型(用户)上不存在的字段(上下文)
- xamarin - 为什么单击按钮时我的应用程序崩溃?
- javascript - 三 JS LineBasicMaterial 如何在 3D 轴上绘制简单的粗线?
- r - 如何制作带有R中变量每月演变的线条图形
- django - 将 WSGIDaemonProcess 与多个进程一起使用时,Django CSRF 验证失败
- .htaccess - .htaccess 用于排除 URL 并删除 www。并切换到 https
- node.js - 我可以使用 puppeteer api 和 node.js 设置地理定位(devtools>sensors)吗
- c# - 如何从剃须刀页面中的代码访问页面属性
- javascript - React radio 需要点击两次才能触发
- c# - 将json字符串转换为字符串数组