【发布时间】:2022-01-01 10:07:12
【问题描述】:
我试图在屏幕宽度大于 1200 像素时隐藏菜单栏,并在屏幕宽度小于 1200 像素时显示它,但媒体查询没有给出我想要的结果。我正在使用 sass。
这是我的 CSS:
.icon {
flex: 0.2;
align-items: center;
justify-content: center;
padding-right: 10px;
.menubar {
align-items: center;
justify-content: center;
**display: none;**
i {
text-align: center;
width: 30px;
font-size: 30px;
line-height: 2;
&:hover {
color: $mainColor2;
cursor: pointer;
}
}
}
}
}
@media screen and (max-width: 1200px) {
.icon {
.menubar {
**display: flex;**
}
}
}
这是我的导航栏 React 组件:
<nav className='navbar' ref={navRef}>
<div className="icon">
<div className="darkmode-button">
<DarkMode></DarkMode>
</div>
<div className="menubar" onClick={() => setToggle(!toggle)}>
{toggle ? <i class="fas fa-times" onClick={() => closeNav()} /> : <i class="fas fa-bars" onClick={() => openNav()} />}
</div>
<div className="language">
<Language></Language>
</div>
</div>
</div>
</nav>
【问题讨论】:
-
在 flex|none 之间翻转
.menubarsdisplay似乎很好;也许它在您的样式表的其他地方被否决了?使用浏览器工具内容检查器 (Ctrl+Shift+C) 查看有效的值。 -
@Raxi 我看到
display:none工作得很好,但是如果我将窗口拖到 1200 像素以下,样式仍然在内容检查器中的display:none之下。我在原始帖子中添加了一张照片供您查看。 -
它被否决了。似乎没有媒体查询的样式比原始样式更具体,因此它仍然应用旧样式。