媒体查询不适用于显示 属性
media query not working with display property
我试图在屏幕宽度大于 1200px 时隐藏菜单栏,并在屏幕宽度小于 1200px 时显示它,但媒体查询没有给出我想要的结果。我正在使用 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>
由于您添加了内容检查器屏幕截图,它显示正在使用不同的选择器应用 display
属性。我想这可能会导致 flex
-变体没有足够的 特异性 来打败 none
-变体的问题。
您的 display: none
适用于 .navbar .right .icon .menubar
,
但是你的 display: flex
适用于 .icon .menubar
.
我已经写了一个解释为什么这发生在另一个问题之前:
但修复可能只是将 display: flex
也包含在 .navbar { .right { ... } }
中。
我试图在屏幕宽度大于 1200px 时隐藏菜单栏,并在屏幕宽度小于 1200px 时显示它,但媒体查询没有给出我想要的结果。我正在使用 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>
由于您添加了内容检查器屏幕截图,它显示正在使用不同的选择器应用 display
属性。我想这可能会导致 flex
-变体没有足够的 特异性 来打败 none
-变体的问题。
您的 display: none
适用于 .navbar .right .icon .menubar
,
但是你的 display: flex
适用于 .icon .menubar
.
我已经写了一个解释为什么这发生在另一个问题之前:
但修复可能只是将 display: flex
也包含在 .navbar { .right { ... } }
中。