停止按钮全宽并将导航栏图标保持在左侧

时间:2017-07-13 19:46:35

标签: css twitter-bootstrap

当屏幕尺寸移动到sm时,注销按钮宽度占据整个屏幕,导航栏汉堡包图标位于中间:

pic1

这是它正常时的样子:

picture2

以下是代码:

<!-- navbar -->
  <nav class="navbar navbar-toggleable-sm bg-info navbar-inverse">
    <div class="container">
      <button class="navbar-toggler" data-toggle="collapse" data-target="#mainNav">
                 <span class="navbar-toggler-icon"></span>
             </button>
      <div class="collapse navbar-collapse" id="mainNav">
        <div class="navbar-nav">
          <a class="nav-item nav-link active" href="#">Home</a>
          <a class="nav-item nav-link" href="#">About</a>
          <a class="nav-item nav-link" href="#">Training</a>
          <a class="nav-item nav-link" href="#">LOGOUT</a>
        </div>
      </div>
    </div>
  <a href="#" class="btn btn-danger">Logout</a>
  </nav>

3 个答案:

答案 0 :(得分:1)

查看该代码。它的工作原理

&#13;
&#13;
@media(max-width:777px){
  .btn-danger{
    max-width:70px!important;
  }
  
}
&#13;
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"/>
<nav class="navbar navbar-toggleable-sm bg-info navbar-inverse">
    <div class="container">
      <button class="navbar-toggler" data-toggle="collapse" data-target="#mainNav">
                 <span class="navbar-toggler-icon"></span>
             </button>
      <div class="collapse navbar-collapse" id="mainNav">
        <div class="navbar-nav">
          <a class="nav-item nav-link active" href="#">Home</a>
          <a class="nav-item nav-link" href="#">About</a>
          <a class="nav-item nav-link" href="#">Training</a>
          <a class="nav-item nav-link" href="#">LOGOUT</a>
        </div>
      </div>
    </div>
  <a href="#" class="btn btn-danger">Logout</a>
  </nav>
&#13;
&#13;
&#13;

在这里你也可以在codepen.io上找到它 https://codepen.io/hansfranz/pen/owmVod

我所做的是在此处设置media Query,您可以定义特定width的行为。

希望如果不发表评论会有所帮助:)

答案 1 :(得分:1)

使用flexbox组织布局。

&#13;
&#13;
@media screen and (max-width:640px) {
  nav.navbar,
  .container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0!important;
  }
  nav .btn.btn-danger {
    margin-left: auto;
  }
}
&#13;
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<!-- navbar -->
<nav class="navbar navbar-toggleable-sm bg-info navbar-inverse">
  <div class="container">
    <button class="navbar-toggler" data-toggle="collapse" data-target="#mainNav">
                 <span class="navbar-toggler-icon"></span>
             </button>
    <div class="collapse navbar-collapse" id="mainNav">
      <div class="navbar-nav">
        <a class="nav-item nav-link active" href="#">Home</a>
        <a class="nav-item nav-link" href="#">About</a>
        <a class="nav-item nav-link" href="#">Training</a>
        <a class="nav-item nav-link" href="#">LOGOUT</a>
      </div>
    </div>
  </div>
  <a href="#" class="btn btn-danger">Logout</a>
</nav>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您不应将退出链接留在导航栏div之外。这是一个可以提供帮助的例子。

<nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container-fluid">
	<div class="navbar-header">
	  <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
		<span class="icon-bar"></span>
		<span class="icon-bar"></span>
		<span class="icon-bar"></span> 
	  </button>
	  <a class="navbar-brand" href="#">WebSiteName</a>
	</div>
	<div class="collapse navbar-collapse" id="myNavbar">
	  <ul class="nav navbar-nav">
		<li class="active"><a href="#">Home</a></li>
		<li><a href="#">Page 1</a></li>
		<li><a href="#">Page 2</a></li> 
		<li><a href="#">Page 3</a></li> 
	  </ul>
	  <ul class="nav navbar-nav navbar-right">
		<li><a href="#">Link Button</a></li>
	  </ul>
	</div>
  </div>
</nav>