导航栏顶部的Twitter-Bootstrap-2徽标图像

时间:2012-03-27 16:29:53

标签: twitter-bootstrap navbar twitter-bootstrap-2

有人可以建议我如何在导航栏顶部放置徽标图片吗? 我的标记:

  <body>
    <a href="index.html"> <img src="images/57x57x300.jpg"></a>
     <div class="navbar navbar-fixed-top">
       <div class="navbar-inner">
         <div class="container">

它不起作用,因为57x57x300.jpg显示在导航栏下方。

5 个答案:

答案 0 :(得分:71)

您还必须将“navbar-brand”类添加到图片a容器中,同样您必须将其包含在.navbar-inner容器中,如下所示:

 <div class="navbar navbar-fixed-top">
   <div class="navbar-inner">
     <div class="container">
        <a class="navbar-brand" href="index.html"> <img src="images/57x57x300.jpg"></a>
     </div>
   </div>
 </div>

答案 1 :(得分:55)

在bootstrap.css或新的CSS文件中覆盖品牌类,如下所示 -

.brand
{
  background: url(images/logo.png) no-repeat left center;
  height: 20px;
  width: 100px;
}

你的HTML应该看起来像 -

<div class="container-fluid">
  <a class="brand" href="index.html"></a>
</div>

答案 2 :(得分:13)

您应该删除navbar-fixed-top课程,否则导航栏会固定在您想要徽标的页面顶部。


如果您想在导航栏中放置徽标:

导航栏高度(在@navbarHeight LESS变量中设置)默认为40px。您的徽标必须放在里面,否则您必须首先使导航栏更高。

然后使用brand class:

<div class="navbar navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a href="/" class="brand"><img alt="" src="/logo.gif" /></a>
    </div>
  </div>
</div>

如果您的徽标高于20px,则还必须修复样式表。

如果你在LESS中这样做:

.navbar .brand {
  @elementHeight: 32px;
  padding: ((@navbarHeight - @elementHeight) / 2 - 2) 20px ((@navbarHeight - @elementHeight) / 2 + 2);
}

@elementHeight应设置为您的图像高度。

填充计算取自Twitter Bootstrap LESS - https://github.com/twitter/bootstrap/blob/v2.0.4/less/navbar.less#L51-52

或者,您可以自己计算填充值并使用纯CSS。

这适用于Twitter Bootstrap版本2.0.x,也适用于2.1,但填充计算有点改变:https://github.com/twitter/bootstrap/blob/v2.1.0/less/navbar.less#L50

答案 3 :(得分:4)

我在bootstrap 3.2.0上使用此代码进行导航栏, 图像最多应高50px,否则会使标准bs导航栏出血。

请注意,我故意不使用class =&#39; navbar-brand&#39;因为它在图像上引入了填充

<div class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
        <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="" href="/"><img src='img/anyWidthx50.png'/></a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse navbar-ex1-collapse">
       <ul class="nav navbar-nav">
        <li class="active"><a href="#">Active Link</a></li>
        <li><a href="#">More Links</a></li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div>
</div>

答案 4 :(得分:3)

如果你不增加导航栏的高度..

 .navbar .brand {
 position: fixed;    
 overflow: visible;
 padding-left: 0;    
 padding-top: 0;
 }

请参阅http://jsfiddle.net/petrfox/S84wP/