html - 在调整大小时更改引导导航栏颜色
问题描述
我正在尝试将导航栏菜单项的背景颜色更改为较小的屏幕尺寸。
在以下情况下会出现问题:
- 浏览器窗口变小,直到显示汉堡菜单
- 单击汉堡菜单以显示菜单项
(现在我的背景颜色改变了,这就是我想要的)
- 浏览器窗口变大到汉堡菜单消失的程度
现在背景颜色不会变回原来的颜色。这可以以某种方式解决吗?
下面的代码演示了这个问题:
.navbar-collapse.show,
.navbar-collapse.show .navbar-nav .nav-item .nav-link,
.navbar-collapse.collapsing,
.navbar-collapse.collapsing .navbar-nav .nav-item .nav-link {
background-color: #000000;
color: #FFFFFF;
}
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" />
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
</div>
</div>
</nav>
我尝试通过将属性应用于以下内容来使颜色变回:
.navbar-collapse.collapse,
.navbar-collapse.collapse .navbar-nav .nav-item .nav-link
但这似乎不起作用。
解决方案
我设法修复它。我删除了我拥有的一些代码并将其替换为:
@include media-breakpoint-down(sm) {
.navbar-collapse.show,
.navbar-collapse.show .navbar-nav .nav-item .nav-link,
.navbar-collapse.collapsing,
.navbar-collapse.collapsing .navbar-nav .nav-item .nav-link {
background-color: #000000;
color: #FFFFFF;
}
}
事实证明,你不能只用没有媒体查询的 css 来解决它,因为当你调整窗口大小并且菜单被折叠或展开时,类不会改变。我确实设法将它绑定到引导断点,而无需硬编码大小。
显然这是scss,而不是css。在这个主题上我确实有一些功课要做,但至少现在我有一些适用于这个项目的东西。
谢谢你的帮助!
推荐阅读
- dart - 如何为函数类型的可选位置参数设置默认值?
- java - 将来自蓝牙连接的传入数据用于特定对象?C# Windows 窗体应用程序和 Java Android 应用程序
- flutter - Flutter Dio Package:如何收听另一个类的下载进度?
- hibernate - Hibernate 创建 OneToMany 而不是 OneToOne
- sql - 如何在特定值之前找到行?
- asp.net - Asp.net 验证器未在客户端验证在服务器端工作正常
- c# - 如何按 DataTime 对元组列表进行排序,其中 DataTime 是元组的第三个元素?
- distributed-computing - 严格一致性 vs 原子一致性
- c# - 依赖注入问题 - 初始化远程服务连接
- javascript - 尝试使用“import”时 Jest 出错