在 Twitter Bootstrap 3 中为大屏幕居中固定顶部导航栏

Posted

技术标签:

【中文标题】在 Twitter Bootstrap 3 中为大屏幕居中固定顶部导航栏【英文标题】:Centering fixed top navbar for large screens in Twitter Bootstrap 3 【发布时间】:2014-06-18 11:32:39 【问题描述】:

我在 Twitter Bootstrap 3 中有一个固定的顶部导航栏。 一切正常,直到 1350 像素。在 1350px 之后,导航栏内容之间会出现间隙。所以我想将我的导航栏居中。

我检查了this、this 和this 的答案。它们都不适合我。

这是我的小提琴:http://jsfiddle.net/mcqHE/56/ 目前我使用Navbar 1。 为了尝试使导航栏居中,我在小提琴中添加了Navbar 2

检查 1500 像素宽度的小提琴。 * 导航栏 1 是一条线,不居中且有间隙。 * 导航栏 2 居中,没有间隙,但它是两条线。 原因似乎是这条规则:@media (min-width: 1200px) .container max-width: 1170px;

那么我怎样才能使导航栏居中,如果宽度大于 1350px 则为一行?

【问题讨论】:

能否请您删除所有这些内联样式并编写单独的 CSS? (这样看你有什么有点乱) @caramba 我删除了内联样式并更新了小提琴。 "something1" 和 "something2" 也必须居中或始终位于同一行但在屏幕右侧? 【参考方案1】:

这是你的问题的答案:-)

您需要在 css 中添加以下行:

@media screen and (min-width:  1350px) 
   .navbar  text-align: center; 
   .navbar-header  display: inline-block; float: none !important; 
   .navbar-collapse.collapse  display: inline-block !important; 

这里是解决方案:http://jsfiddle.net/myN2s/。

如果你解决了这个问题,请告诉我。

每次想要居中元素时,都需要在父元素中添加text-align:center,在要水平居中的元素中添加display: inline-block。这些都不能浮动(这非常重要)。

【讨论】:

嗯,这似乎适用于大屏幕,navbar-header navbar-collapse.collapse 打破了小屏幕的折叠。【参考方案2】:

此修复将影响您页面上的所有样式。但我想这是你所要求的,没有足够的空间放在一条线上。 http://jsfiddle.net/mcqHE/58/

* 
    font-size:10px;

【讨论】:

【参考方案3】:

虽然下面的答案涵盖了大部分内容,但我注意到菜单仍然不是一行,以下是我所做的更改:

1) 是的,这是造成两个间隙的宽度,但主要的罪魁祸首是.container。所以删除 <div> 和类 .container

2) 添加此 CSS 以使您的菜单项居中:

.navbar-inner  text-align: center; 

3) 最后这个:

.collapse.navbar-collapse.in display: inline-block !important; 

将两个<ul> 元素绑定在一起。

补充:

如果您希望标题“导航栏”也居中,您可以这样做:

.navbar-header  float: none; 

这是JSFiddle.

它是 effect,分辨率 > 1350 像素。

【讨论】:

这似乎不适用于小屏幕。它适用于 1350px+ @trante 明白你的意思,css 选择器在打开和关闭时都针对navbar collapse,进行了更改,这就是looks. 好吧,我不喜欢“导航栏”文本居中。因为在这种情况下会出现一个新行,它会使导航栏高度变大:)【参考方案4】:

对于导航栏 1,将以下 css 添加到此 div div class="navbar-collapse navbar-part2 collapse

max-width: 1350px;
margin-left: auto;
margin-right: auto;

最大宽度将确保导航部分不会超过 1350px margin-left:auto 和 margin-right:auto 将使导航居中。

我想这就是你所追求的?如果不是对不起!

【讨论】:

以上是关于在 Twitter Bootstrap 3 中为大屏幕居中固定顶部导航栏的主要内容,如果未能解决你的问题,请参考以下文章

Twitter bootstrap .transition 的多个转换?

在 python 中为大文件创建校验和的最快方法

使用 Bootstrap 3 在 Twitter Typeahead 上的 CSS 问题

Twitter 的 Bootstrap 3 网格,更改断点和删除填充

Twitter Bootstrap 3 - 在词缀滚动上丢失容器全宽

如何在 twitter-bootstrap-3 模态框中使用复选框