【问题标题】: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 列,这样它就会将配置文件分解为向下