67

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

  <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 显示在导航栏下方。

4

5 回答 5

72

You have to also add the "navbar-brand" class to your image a container, also you have to include it inside the .navbar-inner container, like so:

 <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>
于 2012-03-27T16:50:35.443 回答
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>
于 2012-03-29T08:50:50.000 回答
13

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


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

默认情况下,导航栏高度(在@navbarHeightLESS 变量中设置)40px。您的徽标必须适合内部,否则您必须先使导航栏更高。

然后使用brand类:

<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

于 2012-09-10T22:04:40.220 回答
4

我在 bootstrap 3.2.0 上将此代码用于导航栏,图像最多应为 50px 高,否则它会溢出标准的 bs 导航栏。

请注意,我故意不使用 class='navbar-brand' 因为它会在图像上引入填充

<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>
于 2014-09-24T18:59:31.600 回答
3

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

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

http://jsfiddle.net/petrfox/S84wP/

于 2013-05-28T07:30:23.940 回答