我正在用Ruby on Rails开发一个web,使用Twitter引导和简单的导航gem。导航菜单在任何浏览器上都可以正常工作,如下所示:
当在移动设备上显示网页并单击导航按钮时,整个菜单显示在垂直块上,将标题的大小放大到可以容纳菜单的最大高度。问题是,打开任何子菜单都会增加菜单的大小,溢出并隐藏最后的选项,如您在比较中看到的:
知道吗?
手机版导航菜单代码:

<div class="navbar navbar-static-top">
  <div class="navbar-inner">
    <div class="container">
      <a class="btn btn-navbar" data-target=".nav-collapse" data-toggle="collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>
      <div class="brand">
        <a href="/en" id="home"><img alt="NRG Consulting logo" src="/assets/nrg-logo.png" title="NRG Consulting"></a>
      </div>
      <span class="development" id="rails-env"><span>development</span></span>
      <div class="container nav-collapse in collapse" style="height: 496px;">
        <ul class="nav pull-right align-top">
          <li>
            <a href="manual_path">
              Help
            </a>
          </li>
          <li>
            <a href="/es/clients">Español <img alt="Switch to English" class="lang" data-locale="en" src="/assets/lang-es.png" title="English"></a>
          </li>
        </ul>
        <ul class="nav pull-right align-bottom">
          <li id="home"><a href="/en">Home</a></li>
          <li id="formulas"><a href="/en/formulas">Formulas</a></li>
          <li id="deals"><a href="/en/deals">Deals</a></li>
          .
          .
          .
          <li class="active dropdown" id="admin">
            <a href="#" class="dropdown-toggle active" data-toggle="dropdown">Admin <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li id="subscription"><a href="/en/subscriptions">Subscriptions</a></li>
                <li class="divider" id="nav_header"></li>
                <li id="historic"><a href="/en/recalculate_product_histories/new">Recalculate historic prices</a></li>
                <li class="divider" id="nav_header"></li>
                <li id="export"><a href="/en/exports">export data</a></li>
                <li id="import_tuple_eod_check"><a href="/en/import_tuple_eod_checks">Check data</a></li>
                <li class="divider" id="nav_header"></li>
                <li id="alerts"><a href="/en/alerts">Alert</a></li>
                <li id="product_price_alerts"><a href="/en/product_price_alerts">Price alerts</a></li>
                <li id="import_tuples"><a href="/en/import_tuples">Import tuple</a></li>
                <li id="fixing_errors"><a href="/en/fixings_consistency_errors">fixing errors</a></li>
                <li class="divider" id="nav_header"></li><li id="redis"><a href="/en/resque">Resque</a></li>
                <li id="copycopter"><a href="http://copycopter.nrgconsulting.es/">Translate</a></li>
                <li class="divider" id="nav_header"></li>
                <li class="active simple-navigation-active-leaf" id="client"><a href="/en/clients" class="active">Clients</a></li>
                <li id="user"><a href="/en/users">Users</a></li>
                <li id="user_activities"><a href="/en/user_activities">User activity</a></li></ul></li>
                <li id="user"><a href="/en/users">Users</a></li>
              </ul>
      </div>
    </div>
  </div>
</div>

最佳答案

显示导航菜单时,收拢的导航菜单将显示设置固定高度值,防止子菜单下拉菜单显示时div放大:

<div class="container nav-collapse in collapse" style="height: 496px;">

将此行添加到style.css将height属性设置为auto,允许div在需要时放大,显示整个菜单:
.container.nav-collapse.in.collapse{
  height: auto !important;
}

也许有一个更干净的解决方案,但这对我来说很好,不想改变引导代码本身。
A link displaying some usefull info about similar issues.

10-04 22:23
查看更多