【问题标题】:bootstrap navbar dropdown does not work on iphone引导导航栏下拉菜单在 iPhone 上不起作用
【发布时间】:2015-09-22 17:10:40
【问题描述】:

我在 mean.js 框架中使用“bootstrap”:“~3.3.4”。当在桌面上单击下拉图标时,导航栏下拉菜单在打开和保持不变时没有任何问题。但是在被推送到登台服务器后,单击 iphone 和三星 Galaxy 浏览器上的图标不再打开下拉菜单,或者有时会打开但不会保持打开状态。

代码如下:

 <div   class="landing-page-header"> 

   <div class="navbar-header" >
    <button class="navbar-toggle mytoggle" type="button" data-ng-click="toggleCollapsibleMenu()">
      <span class="sr-only">Toggle navigation</span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
      <a data-ui-sref="home" class="navbar-brand">
        <img class="header-logo" ng-src="modules/core/img/home/myimg.png" height="">
      </a>
  </div>
  <nav class="collapse navbar-collapse"  data-ng-show="!authentication.user" collapse="!isCollapsed" role="navigation">
    <ul class="nav navbar-nav navbar-right landing-page-nav" data-ng-hide="authentication.user">
        <li class="text-center" data-ng-repeat="item in menu.items | orderBy: 'position'" 
        data-ng-if="item.roles.indexOf('guest') !== -1" 
        ng-switch="item.type"
        data-ng-class="{active: $state.includes(item.state)}" 
        class="{{item.class}}" 

        target="{{item.target}}"
        dropdown="item.type === 'dropdown'">
          <a ng-switch-when="dropdown" class="dropdown-toggle">
            <span data-ng-bind="item.title"></span>
            <b class="caret"></b>
          </a>
          <ul ng-switch-when="dropdown" class="dropdown-menu">
            <li data-ng-repeat="subitem in item.items | orderBy: 'position'" data-ng-if="subitem.shouldRender(authentication.user);" data-ui-sref-active="active">
              <a data-ui-sref="{{subitem.state}}" data-ng-bind="subitem.title"></a>
            </li>
          </ul>
          <a ng-switch-default data-ui-sref="{{item.state}}" data-ng-bind="item.title"></a>
        </li>
        <li class="divider-vertical"></li>
        <li class="text-center  " data-ui-sref-active="active">
            <a data-ui-sref="authentication.signin" target="_self">SIGN IN</a>
        </li>
    </ul>

  </nav>
  </div>

这是 CSS:

.landing-page-header {
      position: fixed;
      left: 0px;
      top: 0px;
      opacity: 0.9;
      background: #111;
      width:100%;
      height: 5em;
      z-index: 99;
      margin-bottom: 10em;
}

.navbar-brand img {
    /*background: #fff;*/
}
.landing-page-header ul {
    background: #111;
    margin-right:0.5em;


}

我查看了该网站上的其他答案并搜索了该问题。我遇到的一个答案建议使用 or 输入而不是按钮,但我仍然面临同样的问题。

浏览器中发生的情况是,在将代码推送到登台服务器后立即单击按钮(汉堡包)(在 Galaxy 和 iphone 上)导航栏呈现,但是一旦单击菜单项,当您返回时然后再次点击汉堡菜单,导航栏会表现得很奇怪,开始渲染和停止并立即返回。

有人知道吗?

【问题讨论】:

  • 您也应该在您的问题中添加一些 CSS。可能是按钮的 z-index 问题。我也遇到过类似的问题。
  • 我已经编辑了这个问题。你现在可以看到代码了。

标签: css angularjs twitter-bootstrap meanjs


【解决方案1】:

我自己找到了解决方案。对于小于 480 像素的屏幕,我只需将下拉菜单的位置设置为“静态”。

  @media (max-width: 480px) {
        .landing-page-header ul{  
           position: static;
           width:100%;
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多