【发布时间】:2021-03-23 19:45:44
【问题描述】:
尝试创建响应式菜单。到目前为止,它适用于小屏幕,但是当增加屏幕尺寸时,菜单不会返回到大屏幕的媒体查询设置,它只显示来自 javascript 的切换类。
因此,如果打开菜单并且我增加了屏幕,它不会修复菜单样式,如果它被关闭并且屏幕增加,也会发生同样的情况
const burgerArray = document.querySelectorAll(".barra");
const navBar = document.getElementById('myLinks')
function buttonChange() {
for (i = 0; i < burgerArray.length; i++) {
burgerArray[i].classList.toggle('change')
console.log(burgerArray[i])
}
if (navBar.style.display == "block") { // if is menuBox displayed, hide it
navBar.style.display = "none";
} else { // if is menuBox hidden, display it
navBar.style.display = "block";
}
}
@media (max-width: 468px) {
.myLinks {
display: block;
}
}
@media only screen and (min-width: 768px) {
.menudo {
display: flex;
justify-content: space-between;
}
#burgers {
display: none;
}
.myLinks {
display: block;
}
}
;
<div class="menudo">
<div class="logo">
<a href="/index.html" id="logo"><img src="img/PicsArt_02-11-12.55.38 (1).png" width=7 0px alt=""></a>
</div>
<label for="checkbox">
<div onclick="buttonChange()" id='burgers' class="burger-menuu">
<div class="barra" id="bar1" ></div>
<div class="barra" id="bar2" ></div>
<div class="barra" id="bar3" ></div>
</div>
</label>
<nav class="myLinks" id="myLinks">
<a id="menu-land" href="/artic.html">Articles</a>
<a id="menu-land" href="img/Francisco Gonzalez Resume.pdf" target="blank">Resume<!--<i class="fa fa-shopping-cart" aria-hidden="true">--></i>
</nav>
</div>
【问题讨论】:
-
如果您使用内联样式,请确保您的 css 有
!important可以覆盖,但更好的方法是添加/删除显示块/无的类,这样会更容易从 css 控制一切。您还可以将显示设置为“”以删除 js 中调整大小时的内联样式 -
还是不行。尝试在新环境中进行,一切正常。唯一的问题是它在调整大小时不应用样式。
-
我不知道您尝试了什么,或者您是否完全理解我的评论
标签: javascript css