【问题标题】:Bootstrap 3 re-order the layout of navbar in small screenBootstrap 3 重新排序小屏幕中导航栏的布局
【发布时间】:2016-02-15 00:37:27
【问题描述】:

目前我正在学习 Bootstrap 3,我需要帮助重新排序小屏幕中导航栏的布局。 我已经按照LINK中的示例进行了操作

我已经用用户配置文件替换了默认/静态/固定 所以我要改变的是当屏幕很小的时候我会有
|--------- 品牌 ----------|
|[-]------个人资料|

这是我的示例代码:

@media (max-width: 767px) {
  .navbar-brand {
    width: auto;
    float: none;
    border-bottom: 0 solid transparent;
    margin: 0 -15px;
  }  
  .navbar-toggle {
    float: left;
  }
  .nav-user-profile .navbar-nav {
    margin: 0;
  }
  .nav-user-profile .navbar-nav>li {
    position: static;
    float: left;
  }
  .nav-user-profile .navbar-nav>li>a {
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 20px;
  }
}
<nav role="navigation" class="navbar navbar-default">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-brand"><a href="#">Brand</a></div>
    <div class="navbar-header">
        <button type="button" data-target="#navbarCollapse" data-toggle="collapse" class="navbar-toggle">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>        
    </div>
    <!-- Collection of nav links and other content for toggling -->
    <div id="navbarCollapse" class="collapse navbar-collapse">
        <ul class="nav navbar-nav">
            <li class="active"><a href="#">Home</a></li>
            <li><a href="#">About</a></li>
            <li><a href="#">Contact</a></li>
        </ul>
        <div class="nav-user-profile navbar-right">
            <ul class="nav navbar-nav">
                <li><a href="#">Profile</a></li>
            </ul>
        </div>
    </div>
</nav>

我怎样才能实现它?

感谢您的意见

【问题讨论】:

  • 向我们展示您目前所拥有的,然后我们可以提供帮助。
  • 我已经更新了我的问题

标签: html css twitter-bootstrap layout twitter-bootstrap-3


【解决方案1】:

我认为这是您根据图表尝试做的事情。可能最简单的方法是在导航栏上方为第二个品牌位置创建一个 div。您可以使用 hidden/visible 类隐藏一个或另一个品牌位置。并且配置文件链接可以放置在navbar-header 内,因此它在所有视口中都可见,只需正确定位在右侧,navbar-toggle 浮动到左侧。

查看工作片段。

header {
  text-align: center;
  background: #f5f5f5;
  width: 100%;
  height: 50px;
  padding: 15px 15px;
}
header .header-brand {
  color: #777;
  font-size: 18px;
  line-height: 20px;
}
header .header-brand:focus,
header .header-brand:hover {
  text-decoration: none;
  color: #5e5e5e;
}
.navbar .btn.profile-btn,
.navbar .btn.profile-btn:hover,
.navbar .btn.profile-btn:focus {
  float: right;
  right: 0;
  position: absolute;
  margin-top: 10px;
  background: none;
  border: none;
}
@media (max-width: 767px) {
  .navbar .navbar-toggle {
    float: left;
    margin-left: 15px;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<header class="visible-xs-block"> <a class="header-brand" href="#">Brand</a>

</header>
<nav class="navbar navbar-default">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-nav" aria-expanded="false"> <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 hidden-xs" href="#">Brand</a>

      <button type="button" class="btn btn-default profile-btn">Profile</button>
    </div>
    <div class="collapse navbar-collapse" id="bs-nav">
      <ul class="nav navbar-nav navbar-left">
        <li class="active"><a href="#">Home</a>

        </li>
        <li><a href="#">About</a>

        </li>
        <li><a href="#">Contact</a>

        </li>
      </ul>
    </div>
  </div>
</nav>

【讨论】:

  • 哇,这正是我想要的!
  • 没问题,很高兴能帮上忙。
【解决方案2】:

我只添加了text-right 非常简单的外观,我用//changes* 注释了

<nav role="navigation" class="navbar navbar-default">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-brand"><a href="#">Brand</a></div>
    <div class="navbar-header">
        <button type="button" data-target="#navbarCollapse" data-toggle="collapse" class="navbar-toggle">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>        
    </div>
    <!-- Collection of nav links and other content for toggling -->
    <div id="navbarCollapse" class="collapse navbar-collapse">
              //changes*
        <ul class="nav navbar-nav text-right">
              //changes*
            <li class="active"><a href="#">Home</a></li>
            <li><a href="#">About</a></li>
            <li><a href="#">Contact</a></li>
        </ul>
        <div class="nav-user-profile navbar-right">
            <ul class="nav navbar-nav">
                <li><a href="#">Profile</a></li>
            </ul>
        </div>
    </div>
</nav>

【讨论】:

    【解决方案3】:

    pull-right 类可以帮助你...

    bootstrap分为大中小12列

    因此,当它分解成小尺寸时,使用 col-sm-12 类将品牌赋予完整的 12 列,这样它就会将配置文件分解为向下

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 2020-12-01
      相关资源
      最近更新 更多