【问题标题】:Very Style CSS Mega Menu非常风格的 CSS 超级菜单
【发布时间】:2011-04-14 16:04:56
【问题描述】:

我正在考虑创建一个与 Very.co.uk 风格相似的导航菜单

谁能指出我从哪里开始和最佳实践的正确方向?

谢谢

【问题讨论】:

    标签: javascript jquery jquery-ui css


    【解决方案1】:

    试试Mega Drop Down Menus w/ CSS & jQuery
    它有一个很好的教程和演示。

    【讨论】:

      【解决方案2】:

      基本思路是这样的……

      演示:http://jsfiddle.net/hgZGS/

      jQuery...

      
      $('#menu span').hide();
      $('#menu li').hover(function() {
      
      
      var offset = $(this).offset();
      $(this).find('span').css('marginLeft', offset.left + 'px');
      $(this).find('span').show();
      
      var offsetRight = offset.left + $(this).find('span').width();
      var ww = $(window).width();
      var fixed = offset.left + $(this).width() - $(this).find('span').width();
      
      if (offsetRight > ww) {
          $(this).find('span').css('marginLeft', fixed + 'px');
      }
      else {
          $(this).find('span').css('marginLeft', offset.left + 'px');
      }
      

      }, function() {
      $(this).find('span').hide();
      });

      CSS...

      
      #menu {
          margin: 20px;   
      }
      #menu LI {
          display: block;
          float: left;
          border-right: 1px solid #fff;
          background-color: #ccc;
          padding: 5px;
          cursor: pointer;
      
      }
      #menu SPAN {
          display: block;
          position: absolute;
          width: 200px;
          height: 100px;
          background-color: #E2E2E2;
          left: 0px;
          margin-top: 5px;
          padding: 5px;
      }
      

      HTML...

      <ul id="menu">
          <li>The Quick<span>Quick</span></li>
          <li>Brown<span>Brown</span></li>
          <li>Fox<span>Fox</span></li>
          <li>Jumps<span>Jumps</span></li>
          <li>Over<span>Over</span></li>
          <li>Then<span>The</span></li>
          <li>Tall<span>Tall</span></li>
          <li>White<span>White</span></li>
          <li>Fence<span>Fence</span></li>
      </ul>
      

      【讨论】:

      • 这正是我想要工作的基础,谢谢。
      【解决方案3】:

      最好的开始是制作一个像

      这样的结构
      <ul>
      <li><a href="">Menu</a><div class="subnav">any popunder content</div></li>
      ...
      </ul>
      

      然后,将

    • 设为相对左浮动块,将 .subnav 设为绝对定位:
      ul li { float: left; display: block; position: relative }
      ul li .subnav { display: none; position: absolute; top: 0; left: 0 }
      /* you may need to edit top and left to fit your needs */
      

      然后通过 css 你可以做到:

      ul li:hover .subnav { display: block }
      

      并通过 jquery 复制旧学校浏览器

      $('ul li').hover(
        function() { $(this).find('.subnav').css('display', 'block') },
        function() { $(this).find('.subnav').css('display', 'none') }
      );
      

      这可能是你学习的开始:)

    • 【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-26
        • 2011-05-10
        • 1970-01-01
        • 2013-08-06
        • 2015-07-22
        相关资源
        最近更新 更多