Twitter Bootstrap - 在导航栏中居中品牌标志

4

我尝试使用以下方法将.brand标志居中:

.brand { margin-left: auto; margin-right: auto; }

这是我的顶部导航栏布局:

http://jsfiddle.net/J4zkJ/3/

但似乎它不起作用。在发布此答案之前,我在Stack上进行了搜索,并且上面使用的代码取自已回答的问题。有没有想法如何居中.brand?注意:我不能使用position:absolute和fixed,并且我希望能够响应式地完成这个任务 (responsive)。我也尝试了这个:
.brand { 
  margin:0 auto !important;
  padding:0 auto !important;
  position:absolute !important;
  right:0px;
  left:0px;
   z-index:9999999999 !important;

}

示例中没有CSS。您可以使用左侧的“添加资源”添加Bootstrap。 - sachleen
你的示例并没有清晰地说明你的问题,那么我们怎么能看出到底发生了什么呢? - sachleen
@sachleen 移除 -1,我更新了。 - itsme
3个回答

6
.navbar .brand {
  margin-left: auto;
  margin-right: auto;
  width: 60px;
  float: none;
}

我将其宽度设为任意值,可根据需要设置。

jsFiddle


我喜欢萨拉,只是你忘记了引入Bootstrap JS,请在这里检查你的代码;)http://jsfiddle.net/J4zkJ/7/ - itsme
你说得对,但我认为这并不是一个CSS问题所必需的。 - Sara

0

使用Bootstrap 3

我在我的global.less文件中添加了三个类来增强Bootstrap navbar.less类。

这种方法适用于所有响应式@media规则大小,但您需要根据菜单项的宽度调整字体大小和菜单折叠点(此方法将navbar-brand绝对定位-它“浮动”在其他菜单项上方)。

样式:

.navbar-brand-centered {
    position: absolute;
    top: 0;
    left: 50%;
    height: 50px;
    width: 200px;  /* bootstrap has max-width: 200px rule */
    margin-left: -100px;
    margin-top: 8px;
    text-align: center;
  }

  .navbar-brand-centered {
    color: @navbar-inverse-brand-color;
    &:hover,
    &:focus {
      color: @navbar-inverse-brand-hover-color;
      background-color: @navbar-inverse-brand-hover-bg;
    }
  }

  .navbar-brand-centered {
    display: block;
    max-width: 200px;
    margin-left: auto;
    margin-right: auto;
    padding: @navbar-padding-vertical @navbar-padding-horizontal;
    font-size: @font-size-large;
    font-weight: 500;
    line-height: @line-height-computed;
    color: @navbar-brand-color;
    text-align: center;
    &:hover,
    &:focus {
      color: @navbar-brand-hover-color;
      text-decoration: none;
      background-color: @navbar-brand-hover-bg;
    }
  }

用法:

<div class="navbar navbar-fixed-top">
    <!-- .navbar-toggle is used as the toggle for collapsed navbar content -->
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
    </button>

    <!-- Be sure to leave the brand out here if you want it shown -->
    <a class="navbar-brand-centered" href="/"><span style="font-size: 2em">mess<span style="color: red;">2</span>dress</span></a>

    <!-- Place everything within .navbar-collapse to hide it until above 768px -->
    <div class="nav-collapse collapse navbar-responsive-collapse">
        <!-- YOUR MENU ITEMS HERE -->

这对我有用,但我相信有更好的方法来与Bootstrap实现的基于浮动的方法集成。欢迎反馈。


0

我在我的style.css中使用了以下代码,它对我有效:

    /* 导航栏的标题 */
    .navbar-header {
        text-align: center;
        margin: 10px;
        float: none !important;
    }
/* 网站名称 */ .navbar-brand { float: none !important; }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接