使用2个按钮在bootstrap中创建响应式导航栏

时间:2015-11-13 04:18:44

标签: html css twitter-bootstrap responsive-design

我想在bootstrap中创建一个有两个选项的导航栏。我希望按钮各占50%的屏幕尺寸。我已将div类设置为\\

这不是表明在所有这些屏幕尺寸上都会有12列吗?

现在,当屏幕较大(桌面全屏)时,两个按钮都可见,但是如果我选择移动视图,则按钮不可见。

我的代码如下:

<div class="col-md-12 col-xs-12 col-sm-12 col-lg-12">

为此更新了bootply:http://www.bootply.com/T0rLYTBJy2#

修改:This is the screenshot currently for large screens This is how it is coming for small screens

我正在尝试制作小屏幕&amp;大屏幕看起来很像

1 个答案:

答案 0 :(得分:1)

以下是Bootly的图片,在大型vireport上显示链接而不是右侧的按钮。

enter image description here

以下两种方法可以做到这一点:一种是使用您当前的结构,但在所有视口中使移动导航“永久”。

第二种方法是使用占据整个导航栏的两个下拉按钮。

请参阅完整页面上的工作摘要。

示例1:仅限移动设备navbar的当前结构。

/* CSS used here will be applied after bootstrap.css */

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > li:hover > a {
  border: 0 solid #4285f4;
  border-bottom-width: 2px;
  font-weight: 800;
  background-color: transparent;
}
@media (max-width: 2500px) {
  .navbar-default .navbar-header {
    float: none;
  }
  .navbar-default .navbar-left,
  .navbar-default .navbar-right {
    float: none !important;
  }
  .navbar-default .navbar-toggle {
    display: block;
  }
  .navbar-default .navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }
  .navbar-default.navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px;
  }
  .navbar-default .navbar-collapse.collapse {
    display: none!important;
  }
  .navbar-default .navbar-nav {
    float: none!important;
    margin-top: 7.5px;
  }
  .navbar-default .navbar-nav>li {
    float: none;
  }
  .navbar-default .navbar-nav>li>a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .navbar-default .collapse.in {
    display: block !important;
  }
  .navbar-default .navbar-nav .dropdown-menu > li > a,
  .navbar-default .navbar-nav .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .dropdown-menu > li > a:focus {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
<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" />
<nav class="navbar navbar-default" id="subnav">
  <div class="container">
    <div class="navbar-header"> <a href="#" style="margin-left:15px;" class="navbar-btn btn btn-default btn-plus dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-home" style="color:#dd1111;"></i> Home <small><i class="glyphicon glyphicon-chevron-down"></i></small></a>

      <ul class="nav dropdown-menu">
        <li><a href="#"><i class="glyphicon glyphicon-user" style="color:#1111dd;"></i> Profile</a>

        </li>
        <li><a href="#"><i class="glyphicon glyphicon-dashboard" style="color:#0000aa;"></i> Dashboard</a>

        </li>
        <li><a href="#"><i class="glyphicon glyphicon-inbox" style="color:#11dd11;"></i> Pages</a>

        </li>
        <li class="nav-divider"></li>
        <li><a href="#"><i class="glyphicon glyphicon-cog" style="color:#dd1111;"></i> Settings</a>

        </li>
        <li><a href="#"><i class="glyphicon glyphicon-plus"></i> More..</a>

        </li>
      </ul>
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse2"> <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>

      </button>
    </div>
    <div class="collapse navbar-collapse" id="navbar-collapse2">
      <ul class="nav navbar-nav navbar-right">
        <li class="active"><a href="#">Posts</a>

        </li>
        <li><a href="#loginModal" role="button" data-toggle="modal">Login</a>

        </li>
        <li><a href="#aboutModal" role="button" data-toggle="modal">About</a>

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

示例2:只有两个下拉按钮。

.no-gutter >[class*='col-'] {
  padding-right: 0;
  padding-left: 0;
}
.navbar-custom .btn.btn-nv {
  border-radius: 0;
  height: 50px;
  margin: 0;
  border: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.navbar-custom .btn.btn-nv:first-child {
  border-right: 1px solid rgba(0, 0, 0, .075)
}
.navbar-custom .dropdown .dropdown-menu {
  width: 100%;
  border-radius: 0;
}
.navbar-custom .dropdown .dropdown-menu-right {
  text-align: right;
}
<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" />
<nav class="navbar navbar-default navbar-static-top navbar-custom">
  <div class="container-fluid">
    <div class="row no-gutter">
      <div class="col-xs-6">
        <div class="dropdown">
          <button class="btn btn-default navbar-btn btn-block dropdown-toggle btn-nv" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><i class="glyphicon glyphicon-home" style="color:#dd1111;"></i> Home <small><i class="glyphicon glyphicon-chevron-down"></i></small>

          </button>
          <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
            <li><a href="#"><i class="glyphicon glyphicon-user" style="color:#1111dd;"></i> Profile</a>

            </li>
            <li><a href="#"><i class="glyphicon glyphicon-dashboard" style="color:#0000aa;"></i> Dashboard</a>

            </li>
            <li><a href="#"><i class="glyphicon glyphicon-inbox" style="color:#11dd11;"></i> Pages</a>

            </li>
            <li class="nav-divider"></li>
            <li><a href="#"><i class="glyphicon glyphicon-cog" style="color:#dd1111;"></i> Settings</a>

            </li>
            <li><a href="#"><i class="glyphicon glyphicon-plus"></i> More..</a>

            </li>
          </ul>
        </div>
      </div>
      <div class="col-xs-6">
        <div class="dropdown">
          <button class="btn btn-default navbar-btn btn-block dropdown-toggle btn-nv" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><i class="glyphicon glyphicon-home" style="color:#dd1111;"></i> Home <small><i class="glyphicon glyphicon-chevron-down"></i></small>

          </button>
          <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenu1">
            <li><a href="#"><i class="glyphicon glyphicon-user" style="color:#1111dd;"></i> Profile</a>

            </li>
            <li><a href="#"><i class="glyphicon glyphicon-dashboard" style="color:#0000aa;"></i> Dashboard</a>

            </li>
            <li><a href="#"><i class="glyphicon glyphicon-inbox" style="color:#11dd11;"></i> Pages</a>

            </li>
            <li class="nav-divider"></li>
            <li><a href="#"><i class="glyphicon glyphicon-cog" style="color:#dd1111;"></i> Settings</a>

            </li>
            <li><a href="#"><i class="glyphicon glyphicon-plus"></i> More..</a>

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

Just Buttons:这应该为你提供一个你想要的风格基础。

.navbar.navbar-custom {
  background-color: transparent;
}
.no-gutter >[class*='col-'] {
  padding-right: 0;
  padding-left: 0;
}
.navbar-custom .btn.btn-nv {
  border-radius: 0;
  height: 50px;
  margin: 0;
  border: none;
}
.navbar-custom .btn.btn-nv:hover,
.navbar-custom .btn.btn-nv:focus,
.navbar-custom .btn.btn-nv:active,
.navbar-custom .btn.btn-nv.active,
.open > .dropdown-toggle.btn-nv {
  border: 0 solid #4285f4;
  border-bottom-width: 2px;
  font-weight: 800;
  background-color: transparent;
  outline: none;
}
.navbar-custom .btn.btn-nv:first-child {
  border-right: 1px solid rgba(0, 0, 0, .075);
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<nav class="navbar navbar-default navbar-static-top navbar-custom">
  <div class="container-fluid">
    <div class="row no-gutter">
      <div class="col-xs-6">
        <button class="btn btn-default navbar-btn btn-block btn-nv" type="submit">Posts</button>
      </div>
      <div class="col-xs-6">
        <button class="btn btn-default navbar-btn btn-block btn-nv" type="submit">Login</button>
      </div>
    </div>
  </div>
</nav>