Зменшення висоти завантажувального пристрою 3,0 навбар


108

Я намагаюсь зменшити висоту завантаження 3.0 для навантажувача, яка використовується з фіксованою поведінкою верху. Тут я використовую код.

HTML

<div class="tnav">
<div class="navbar navbar-fixed-top" role="banner">
    <div class="navbar-inner-sm">
  <div class="container">
    <div class="navbar-header">
      <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>
    <nav class="collapse navbar-collapse" role="navigation">
      <ul class="nav navbar-nav pull-right">
        <li class="active">
          <a href="../getting-started">Getting started</a>
        </li>
        <li>
          <a href="../css">Ext01</a>
        </li>
        <li>
          <a href="../components">Language</a>
        </li>
        <li>
          <a href="../javascript">My Account</a>
        </li>
        <li>
          <a href="../customize">Sign Out</a>
        </li>
      </ul>
    </nav>
  </div>
    </div>
</div>

CSS

.tnav .navbar { background:#F06; height:30px; }
.navbar-inner-sm{background-color: #282828;padding: 1px 20px;background-repeat: repeat-x;-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1);-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1);box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1);background-image: linear-gradient(top, #333333, #222222);}
.navbar-inner-sm .nav {position: relative;left: 0;display: block;float: left;margin: 0 10px 0 0;}
.navbar-inner-sm .nav.pull-right {float: right;}
.navbar-inner-sm .nav > li {display: block;float: left;}
.navbar-inner-sm .nav > li > a {float: none;padding: 4px 5px;line-height: 19px;color: #999999;text-decoration: none;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);}
.navbar-inner-sm .nav > li > a:hover {background-color: transparent;color: #ffffff;text-decoration: none;}
.navbar-inner-sm .nav .active > a,.navbar .nav .active > a:hover {color: #ffffff;text-decoration: none;background-color: #003753;}
.navbar-inner-sm .divider-vertical {height: 27px;width: 1px;margin: 0 9px;overflow: hidden;background-color: #282828;border-left: 1px solid #3f3f3f; border-right: 1px solid #161616;}
.navbar-inner-sm .nav.pull-right {margin-left: 10px;margin-right: 0;}

Результат

введіть тут опис зображення

З екрана це відображається, навігація зменшилась у виході, але висота не зменшилась. оригінальна висота зображена рожевим кольором.

Над css-скриптом майже добре працює у завантажувальному файлі 2. *

Чи є спосіб зменшити висоту належним чином.


Більше не потрібно <div class = "navbar-inner"> в Bootstrap 3
Bartek S

navbar-inner - це мій спеціальний клас. не пов’язана з завантажувальним файлом 3.0.
irfanmcsd

Єдиний спосіб, який працював для мене, пояснюється за цим посиланням: stackoverflow.com/questions/19576175/… Він зменшує висоту навбара лише за допомогою двох рядків коду
giovannim

Відповіді:


124

Витративши кілька годин, додавши наступний клас css виправив мою проблему.

Робота з Bootstrap 3.0. *

.tnav .navbar .container { height: 28px; }

Робота з Bootstrap 3.3.4

.navbar-nav > li > a, .navbar-brand {
    padding-top:4px !important; 
    padding-bottom:0 !important;
    height: 28px;
}
.navbar {min-height:28px !important;}

Оновлення Повний код для налаштування та зменшення висоти навігаційного екрана зі знімком екрана.

введіть тут опис зображення

CSS:

/* navbar */
.navbar-primary .navbar { background:#9f58b5; border-bottom:none; }
.navbar-primary .navbar .nav > li > a {color: #501762;}
.navbar-primary .navbar .nav > li > a:hover {color: #fff; background-color: #8e49a3;}
.navbar-primary .navbar .nav .active > a,.navbar .nav .active > a:hover {color: #fff; background-color: #501762;}
.navbar-primary .navbar .nav li > a .caret, .tnav .navbar .nav li > a:hover .caret {border-top-color: #fff;border-bottom-color: #fff;}
.navbar-primary .navbar .nav > li.dropdown.open.active > a:hover {}
.navbar-primary .navbar .nav > li.dropdown.open > a {color: #fff;background-color: #9f58b5;border-color: #fff;}
.navbar-primary .navbar .nav > li.dropdown.open.active > a:hover .caret, .tnav .navbar .nav > li.dropdown.open > a .caret {border-top-color: #fff;}
.navbar-primary .navbar .navbar-brand {color:#fff;}
.navbar-primary .navbar .nav.pull-right {margin-left: 10px; margin-right: 0;}
.navbar-xs .navbar-primary .navbar { min-height:28px; height: 28px; }
.navbar-xs .navbar-primary .navbar .navbar-brand{ padding: 0px 12px;font-size: 16px;line-height: 28px; }
.navbar-xs .navbar-primary .navbar .navbar-nav > li > a {  padding-top: 0px; padding-bottom: 0px; line-height: 28px; }
.navbar-sm .navbar-primary .navbar { min-height:40px; height: 40px; }
.navbar-sm .navbar-primary .navbar .navbar-brand{ padding: 0px 12px;font-size: 16px;line-height: 40px; }
.navbar-sm .navbar-primary .navbar .navbar-nav > li > a {  padding-top: 0px; padding-bottom: 0px; line-height: 40px; }

Код використання:

<div class="navbar-xs">
   <div class="navbar-primary">
       <nav class="navbar navbar-static-top" role="navigation">
          <!-- Brand and toggle get grouped for better mobile display -->
          <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-8">
                 <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="navbar-brand" href="#">Brand</a>
          </div>
          <!-- Collect the nav links, forms, and other content for toggling -->
          <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-8">
              <ul class="nav navbar-nav">
                  <li class="active"><a href="#">Home</a></li>
                  <li><a href="#">Link</a></li>
                   <li><a href="#">Link</a></li>
              </ul>
          </div><!-- /.navbar-collapse -->
      </nav>
  </div>
</div>

4
це не працює ... перевірте мою відповідь на цій сторінці ... мінімальна висота для .navbar за замовчуванням встановлена ​​на 50 пікселів, тож якщо ви встановите висоту на 28 пікселів, вона буде замінена на мінімальну висоту 50 пікселів. ..
патрік

3
Ах, я бачу, ця публікація була відредагована (багато!) І тепер дійсно показує правильний код. Я також бачу налаштування мінімальної висоти, яке я запропонував у своєму дописі, щоб з якихось причин отримати голосування вниз. Дуже засмучувати, щоб відповісти правильним, тематичним і зрозумілим відповіді ...
Патрік,

@patrick не знаю, що ти маєш на увазі, але в той час мою проблему вирішили власною відповіддю. репутація не має жодних питань, якщо люди дають мені голосувати вгору чи вниз.
irfanmcsd

1
Редагування джерела полегшило б це
Лука

Смішно, це не працювало для мене. Мені довелося перекрити фіксовану висоту 50px;
Кевін

43

Робоче рішення:

За замовчуванням Bootstrap 3.0 має накладку 15 пікселів вгорі та внизу, тому нам просто потрібно її переосмислити!

Наприклад:

.navbar-nav > li > a {padding-top:10px !important; padding-bottom:10px !important;}
.navbar {min-height:40px !important}

За замовчуванням 10 box у bootstrap.css? .navbar-nav> li> a {padding-top: 10px; нижня підкладка: 10 пікселів; висота лінії: 20 пікселів; }
jichi

1
Перевірте номер рядка 3884 у bootstrap.css (v3.0.2). Це .navbar-nav > li > a {padding-top: 15px; padding-bottom: 15px;}за замовчуванням.
Ranveer

Не впевнений у версії 3.0. Але в v3.0.3 рядку 4541 в bootstrap.css це: .navbar-nav> li> a {padding-top: 10px; нижня підкладка: 10 пікселів; висота лінії: 20 пікселів; }
jichi

Ви, пане, мій герой.
orokusaki

40

Просто замініть мінімальну висоту, встановлену в .navbar так:

.navbar{
  min-height:20px; //* or whatever height you require
}

Змінення висоти елементів на щось менше, ніж мінімальна висота, не змінить ...


як ви бачите в navbar, я вже використовую властивість висоти, але без ефекту.
irfanmcsd

це властивість мінімальної висоти, а не висота ... якщо встановити висоту на число, нижче, ніж мінімальна висота, мінімальна висота запобіжить її зменшенню ...
patrick

7
Чому це отримує зворотний зв'язок ?? Це робоче рішення для заданої проблеми в цій публікації. Чи може модератор подивитись на це, будь-ласка, схоже, що є противником, який просто знищує речі, з якими він не згоден, не перевіряючи фактичну відповідь. Посилання, розміщене ще через 2,5 місяця після того, як моя публікація отримала ту саму відповідь, перебуває на зовнішньому посиланні та отримала два оновлення. Я ненавиджу це, коли люди розбавляють ТА випадковими голосами!
патрік

Я часто запитував себе, як люди зараз отримали протокол, чи отримуєте ви повідомлення? Не вдалося знайти це на мета
Iulian Onofrei

5
немає сповіщень ... здається, люди дають низькі відгуки, якщо вони думають, що інша відповідь краща чи щось таке ... я не знаю ... У цьому випадку хлопець, що задає питання, прийняв мою відповідь у свою відповідь і прийняв цю відповідь. Добрий кульг, якщо запитаєте мене ... Але знову ж таки, цей сайт не про его, це про допомогу іншим ...
Патрік

27

якщо ви використовуєте менше джерело, у variables.lessфайлі має бути змінна для висоти навігації . Якщо ви не використовуєте джерело, ви можете налаштувати його за допомогою утиліти для налаштування, яку надає сайт завантажувача. А потім ви можете завантажити його та включити у свій проект. Змінна, яку ви шукаєте:@navbar-height


1
але я не хочу змінювати оригінальну поведінку навігації. я просто змінюю висоту для додаткової верхньої планки навігації.
irfanmcsd

2
Я думаю, що це найкраще рішення.
Імтіаз

1
Це найкраще рішення, якщо у вас на сайті лише одна навичка, і вона повинна бути такої висоти. Якщо у вас кілька навігацій, це стає трохи складніше, оскільки .navbar-вертикальне вирівнювання використовується в декількох місцях і має чіткі посилання на @ navbar-height.
Карл Буссема

приємне рішення. до тих пір, поки ви не плануєте використовувати CDN
eagor

1
Поки ви використовуєте скасування в окремому розділі Менше часткового, це найкраще рішення і повинно дозволяти вам оновити завантажувальний інструмент без проблем.
Кен Принс

9

Це мій досвід

 .navbar { min-height:38px;   }
 .navbar .navbar-brand{ padding: 0 12px;font-size: 16px;line-height: 38px;height: 38px; }
 .navbar .navbar-nav > li > a {  padding-top: 0px; padding-bottom: 0px; line-height: 38px; }
 .navbar .navbar-toggle {  margin-top: 3px; margin-bottom: 0px; padding: 8px 9px; }
 .navbar .navbar-form { margin-top: 2px; margin-bottom: 0px }
 .navbar .navbar-collapse {border-color: #A40303;}

змінити висоту навару до 38 пікс


Додайте це, щоб подбати про .navbar-form:.navbar .navbar-form { margin-top: 2px; margin-bottom: 0px }
steph643

Ще одне розширення: .navbar .navbar-text {margin-top: 0px; margin-bottom: 0px; висота лінії: 38 пікселів; }
cnmuc

3

Якщо ви, хлопці, генеруєте свої таблиці стилів за допомогою LESS / SASS і імпортуєте Bootstrap туди, я виявив, що переосмислення змінної @ navbar-height дозволяє вам встановити висоту навігації, яка спочатку визначена у файлі variables.less.

введіть тут опис зображення


3

Хотів додати мою 2 пенси та подяку Джеймсу Пулозу за його оригінальну відповідь, це був єдиний, хто працював на моєму конкретному проекті (MVC 5 з останньою версією Bootstrap 3).

Це в основному орієнтоване на новачків, для ясності та для полегшення майбутніх редагувань. Я пропоную вам додати розділ у нижній частині файлу CSS для свого проекту, наприклад, я люблю це робити:

/* Bootstrap overrides */

.some-class-here {
}

Беручи відповідь Джеймса Пулоза вище, я зробив це:

/* Bootstrap overrides */   
.navbar-nav > li > a { padding-top: 8px !important; padding-bottom: 5px !important; }
.navbar { min-height: 32px !important; }
.navbar-brand { padding-top: 8px; padding-bottom: 10px; padding-left: 10px; }

Я змінив значення padding-top, щоб натиснути текст вниз на мій елемент навбар. Ви можете значно змінити будь-який елемент Bootstrap, подібний цьому, і це хороший спосіб внесення змін, не накручуючи базові класи Boostrap, оскільки останнє, що ви хочете зробити, - це внести зміни, а потім втратити їх, коли ви оновили Bootstrap!

Нарешті, для ще більшого розмежування я люблю розбивати файли CSS та використовувати декларації @import для імпорту своїх під-файлів в один головний CSS-файл для легкого управління, наприклад:

@import url('css/mysubcssfile.css');

Примітка : якщо ви перетягуєте кілька файлів, вам потрібно переконатися, що вони завантажуються в потрібному порядку.

Сподіваюся, що це комусь допоможе.


2

Я думаю, що ми можемо написати цю меншу кількість стилів, не змінюючи існуючого кольору. Наступне працювало для мене (у Bootstrap 3.2.0)

.navbar-nav > li > a { padding-top: 5px !important; padding-bottom: 5px !important; }
.navbar { min-height: 32px !important; }
.navbar-brand { padding-top: 5px; padding-bottom: 10px; padding-left: 10px; }

Останній ("навбар-бренд") насправді потрібен лише у тому випадку, якщо у вас є текст як ім'я "бренд".


Хороша відповідь це був єдиний, хто працював для мене з останньою версією Bootstrap 3 (зауваження: якщо ви хочете натиснути текст вниз, збільште значення "padding-top" для класу .navbar, а також .navbar-nav> літій> а classses.
Таїр Халід

0

У мене виникла та сама проблема, висота моєї панелі меню, яку надає bootstrap, була занадто великою, насправді я завантажив неправильну завантажувальну програму, нарешті позбувся її, завантаживши оригінальний завантажувальний веб-сайт з цього сайту .. http://getbootstrap.com/2.3 .2 / хочу використовувати bootstrap у yii (netbeans). Дотримуйтесь цього підручника, https://www.youtube.com/watch?v=XH_qG8gphaw ... Голосу немає, але кроки повільні, ви можете легко зрозуміти та реалізувати їх. Дякую


Що в коді ви змінили, щоб отримати бажаний ефект? Якщо ви вказуєте на посилання у відповіді, слід узагальнити рішення.
Брайан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.