Логотип 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 отображается под навигационной панелью.
Ответы
Ответ 1
Вы также должны добавить класс "navbar-brand" в контейнер image 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>
Ответ 2
Замените класс бренда либо в файле 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>
Ответ 3
Вы должны удалить класс navbar-fixed-top
, иначе navbar останется в верхней части страницы, где вы хотите логотип.
Если вы хотите разместить логотип внутри navbar:
Высота Navbar (устанавливается в переменной @navbarHeight
LESS) по умолчанию равна 40px
. Ваш логотип должен находиться внутри, или вам нужно сначала сделать navbar.
Затем используйте 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
, вам также нужно исправить таблицы стилей.
Если вы сделаете это в МЕНЬШЕ:
.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
Ответ 4
Я использую этот код для navbar в bootstrap 3.2.0,
изображение должно быть не более 50 пикселей в высоту, иначе оно будет пропускать стандартную навигационную панель bs.
Обратите внимание, что я намеренно не использую class= "навигационную марку", так как это добавляет дополнение к изображению
<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>
Ответ 5
Если вы не увеличиваете высоту навигационной панели.
.navbar .brand {
position: fixed;
overflow: visible;
padding-left: 0;
padding-top: 0;
}
см. http://jsfiddle.net/petrfox/S84wP/