响应菜单显示和隐藏点击 [英] Responsive menu show and hide on click

查看:88
本文介绍了响应菜单显示和隐藏点击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图写一个响应菜单。它实际上是工作,但我不能得到clik效果在CSS。对于这一刻,我正在使用悬停。如何使屏幕宽度低于750px时,我必须点击菜单从图片。数字2(ul)从pic显示菜单。数字3(li)?这是一个单页网站,所以当我clik从下拉菜单中的一些元素它应该隐藏菜单agin(li)。

I trying to write a responsive menu. It's actually works but I can't get the on clik effect in CSS. For this moment I'm using a hover. How to make that when the screen width is lower than 750px I have to click on menu from pic. number 2 (ul) to show menu from pic. number 3 (li) ? This is a one page site so when I clik on some element from drop down menu it's should hide menu agin (li).

HTML:

<header>
    <nav id="menu">
        <ul>
            <li class="li"><a href="#">WITAJ</a></li>
            <li class="li"><a href="#">O MNIE</a></li>
            <li class="li"><a href="#">DOŚWIADCZENIE</a></li>
            <li class="li"><a href="#">CO ROBIĘ?</a></li>
            <li class="li"><a href="#">KONTAKT</a></li>
            <li><a href="#">MOJE PRACE</a></li
        ></ul>
    </nav>
</header>

CSS:

@media screen and (max-width: 750px) {      
    header nav#menu ul:hover > li{
        display:block !important;
    }

    header nav#menu ul li{
        display:none !important;
    }
}

推荐答案

在CSS。通常使用JavaScript。
这是一个简单的jQuery解决方案:

You cannot achieve a click effect in CSS. It is common to use JavaScript for that. This is an easy jQuery solution:

$(function() {
  var menuVisible = false;
  $('#menuBtn').click(function() {
    if (menuVisible) {
      $('#myMenu').css({'display':'none'});
      menuVisible = false;
      return;
    }
    $('#myMenu').css({'display':'block'});
    menuVisible = true;
  });
  $('#myMenu').click(function() {
    $(this).css({'display':'none'});
    menuVisible = false;
  });
});

在用户单击某个条目后,它还会隐藏菜单。

It also hides the menu, after the user clicked on an entry.

在CSS中,您必须通过使用媒体查询强制菜单可见或不可见。这里有个例子: sfplex

In CSS, you have to force the menu to be visible or not by using media queries. Here an example: sfplex

这是此示例的HTML结构:

This is the HTML structure of this example:

<div id="menuBtn">click me</div>
<nav id="myMenu">
  <ul>
    <li>entry 1</li>
    <li>entry 2</li>
    <li>entry 3</li>
    <li>entry 4</li>
  </ul>
</nav>

请参阅 jsFiddle

这篇关于响应菜单显示和隐藏点击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆