【问题标题】:Non-collapsing bootstrap 3 dropdown menu on mobile移动设备上的非折叠引导 3 下拉菜单
【发布时间】:2013-12-26 02:44:11
【问题描述】:

我试图让 twitter 引导下拉菜单在使用较小的设备时不会折叠并保持在同一行。这是它目前的样子:

我希望名称(在此示例中为 John Smith)与“我的应用程序”文本和切换按钮内联。我将如何实现这一目标?

示例:http://bootply.com/99326

<div class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">My Application</a>
        </div>
        <div>
            <ul class="nav navbar-nav navbar-right navbar-user">
                <li class="dropdown user-dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> John Smith <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="#"><i class="fa fa-user"></i> Profile</a></li>
                        <li><a href="#"><i class="fa fa-envelope"></i> Inbox <span class="badge">7</span></a></li>
                        <li><a href="#"><i class="fa fa-gear"></i> Settings</a></li>
                        <li class="divider"></li>
                        <li><a href="#"><i class="fa fa-power-off"></i> Log Out</a></li>
                    </ul>
                </li>
            </ul>
        </div>
        <div class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li><a href="#">Item 1</a></li>
                <li><a href="#">Item 2</a></li>
                <li><a href="#">Item 3</a></li>
            </ul>
        </div><!--/.nav-collapse -->
    </div>
</div>

【问题讨论】:

  • 重复问题。 See this question
  • 似乎是这样,尽管大多数答案都已过时或指的是 twbs 2。我认为在最近的版本中必须有一种简单的方法。
  • 看起来没有一种简单的“开箱即用”的方法可以做到这一点,但我确实找到了this question,它似乎有两个有效的答案(使用引导程序 3)。
  • Bootstrap 3 与 2 明显不同。我在下面发布了答案。

标签: drop-down-menu twitter-bootstrap-3 navbar


【解决方案1】:

演示:http://jsbin.com/eNUpufIs/2/edit?html,css,output

我将演示链接放大以便您可以看到。

<div class="navbar navbar-default navbar-fixed-top my-custom-nav" role="navigation">

  <div class="container">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">My Application</a>
      

 
<div class="navbar-right navbar-text cursor" data-toggle="dropdown" data-target=".user-dropdown">
<i class="fa fa-user"></i> John Smith<b class="caret"></b>
</div>         



       <div class="collapse navbar-collapse">
          <ul class="nav navbar-nav">
                <li><a href="#">Item 1</a></li>
                <li><a href="#">Item 2</a></li>
                <li><a href="#">Item 3</a></li>
            </ul>
      </div>


  
    <ul class="nav navbar-nav navbar-user navbar-right">
                <li class="dropdown user-dropdown">
                
                    <ul class="dropdown-menu">
                        <li><a href="#"><i class="fa fa-user"></i> Profile</a></li>
                        <li><a href="#"><i class="fa fa-envelope"></i> Inbox<span class="badge">7</span></a></li>
                        <li><a href="#"><i class="fa fa-gear"></i> Settings</a></li>
                        <li class="divider"></li>
                        <li><a href="#"><i class="fa fa-power-off"></i> Log Out</a></li>
                    </ul>
                </li>
            </ul>
  
  
</div>
</div>

CSS:

body {padding-top:50px;}

.cursor {cursor:pointer}



/* your going to need to fiddle with the css to make the menu consistent left padding-margin */

/* consistent left padding */
 @media (max-width:767px) {
    .my-custom-nav .navbar-collapse .navbar-nav > li {padding-left:15px!important;}

    .my-custom-nav .user-dropdown > .dropdown-menu > li {padding-left:5px!important;}

}

确保你测试它!

【讨论】:

  • 你是对的,bootstrap 的版本有很大的不同。不幸的是,很多 stackoverflow 的东西都覆盖了前者。可能需要我几个小时来测试它,但到目前为止它看起来不错,谢谢!
  • 点击下拉菜单不会关闭折叠,但这不是一个严重的问题。我唯一可以添加的让它看起来更好一点的是下拉列表的顶部边框。 jsbin.com/eYILOcu/1/watch?html,css,output
  • 是的。调整一下。我从未见过这样的实现,但它确实很方便。
  • 我也没有,它对于需要保留可见导航栏项目的交互式移动应用程序特别方便。为制作模板干杯。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-04
  • 2013-07-17
  • 1970-01-01
  • 2016-11-19
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
相关资源
最近更新 更多