首先,如果我的英语有时很糟糕,我要道歉,因为我是法国人,所以很难详细解释一切。
我正在制作个人网站,但我的响应式导航出了问题。
我为小于1024px的屏幕尺寸设置了一个媒体查询。
当我在1024px以上时,我有一个常规的导航栏,它由一个列表组成。 当我在1024px以下时,我会看到小菜单标志,点击它会使整个菜单出现和消失。
但问题是,如果我的菜单关闭并且我将窗口扩展到1024像素以上,列表就不可见了,我不知道该如何解决这个问题。
以下是我的代码:
<nav class="fixed_nav">
<div id="nav_left">
<img id="logo_nav" src="img/mini_trombi.png" alt="logo"/>
<p id="txt_nav">123</p>
</div>
<ul class="topnav">
<div id="show_n_hide_nav" class="responsive_link_bg">
<li><a id="top_nav_link" class="nav_links" href="#">ITEM 1</a></li>
<hr class="responsive_separator">
<li><a class="nav_links" href="#">ITEM 2</a></li>
<hr class="responsive_separator">
<li><a class="nav_links" href="#">ITEM 3</a></li>
</div>
<li class="icon">
<a div id="button_nav" class="menu_icon" href="javascript:void(0);">☰</a>
</li>
</ul>
</nav>
点击事件的JQuery:
$(function(){
$("#button_nav").click(function () {
if(!$("#show_n_hide_nav").is(":visible")){
$("#show_n_hide_nav").slideDown("slow");
} else {
$("#show_n_hide_nav").slideUp("slow");
}
});
});
在我的CSS中,当屏幕宽度小于1024像素时,我将原始列表隐藏起来,并在用户单击菜单标志时通过jQuery显示它。
再次抱歉如果理解起来有困难。
ul
元素只允许直接子项为li
。 - DaniP