Twitter Bootstrap - центрирование логотипа бренда в navbar
Я попытался центрировать .brand
логотип с:
.brand { margin-left: auto; margin-right: auto; }
это мой топ макет навигационной панели:
но, похоже, это не работает.
Я искал в стеке, прежде чем опубликовать этот ответ, и код, который я использовал выше, взят из ответа на вопрос.
Любая идея, как центрировать.brand?
NB: я не могу использовать position:absolute and fixed
и я хотел бы сделать это ответно (responsive
)
Также я попробовал это:
.brand {
margin:0 auto !important;
padding:0 auto !important;
position:absolute !important;
right:0px;
left:0px;
z-index:9999999999 !important;
}
3 ответа
.navbar .brand {
margin-left: auto;
margin-right: auto;
width: 60px;
float: none;
}
Я дал ему произвольную ширину, установил на то, что вы хотите.
с помощью начальной загрузки 3
Я добавил три класса в свой файл global.less, чтобы увеличить классы начальной загрузки navbar.less.
Этот подход работает со всеми адаптивными размерами правил @media, но вам нужно будет отрегулировать размер шрифта и точки свертывания меню в зависимости от ширины пунктов вашего меню (этот подход позиционирует бренд navbar абсолютно - он "плавает" над другие пункты меню).
стиль:
.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 -->
Это сработало для меня, но я уверен, что есть лучший способ интеграции с подходом, основанным на float, который реализует начальная загрузка. Открыта для обратной связи.
Я просто использовал их в своем style.css, и это сработало для меня:
/ * Заголовок навигационной панели */ .navbar-header { выравнивание текста: по центру; поле: 10px; плавать: нет! важно; } / * Название сайта */ .navbar-brand { плавать: нет! важно; }