Подтвердить что ты не робот

Navbar с фиксированной, но не полной шириной

Используя 2.1.1 Twitter Bootstrap, я пытаюсь создать навигационную панель, которая закреплена в верхней части страницы, но которая не:

<div class="container">
  <div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
      <div class="container">
        <a class="brand" href="#">Project name</a>
        <div class="nav-collapse collapse">
          <ul class="nav">
            <li class="active"><a href="#">Home</a></li>
            <li><a href="#about">About</a></li>
            <li><a href="#contact">Contact</a></li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
    </div>
  </div>
</div>

Если я удалю класс navbar-fixed-top:

  <div class="navbar navbar-fixed-top">

к

  <div class="navbar">

тогда navbar заканчивается тем, что мне нравится - всего 940 пикселей шириной вместо полной ширины - но тогда, конечно, он больше не фиксируется в верхней части страницы. Как я могу сохранить эту навигационную панель в верхней части страницы без ее полной ширины?

4b9b3361

Ответ 1

Вы можете переопределить позиционирование Bootstrap, установив его на фиксированный - используйте absolute, если вы не хотите, чтобы он прокручивался со страницы:

.navbar {
    position: fixed !important;
    top: 0px;
    width: 940px;
}

(подумайте о том, чтобы дать ему ID, если вы планируете использовать несколько навигаторов)

Ответ 2

Вы можете создать фиксированный navbar-fixed-top или nav-bar-bottom-bottom, не имея полной ширины и не реагируя на любой размер экрана.

Шаг 1: добавьте те css: (создаю класс css под названием: .navbar-fixed-width)

@media all and (min-width: 768px) {
  .navbar-fixed-width {
    width: 768px;
    margin-left: auto;
    margin-right:auto;
 }
}

@media all and (min-width: 992px) {
  .navbar-fixed-width {
    width: 992px;
    margin-left: auto;
    margin-right:auto;
  }

}

@media all and (min-width: 1200px) {
  .navbar-fixed-width {
    width: 1200px;
    margin-left: auto;
    margin-right:auto;
  }
}

шаг 2: .navbar-fixed-width класс для навигации, подобный этому.

<div class="navbar navbar-inverse navbar-fixed-top navbar-fixed-width" role="navigation">
    <div class="container">
         <div class="navbar-header">
         </div>
    </div>
</div>

Ответ 3

Вы можете использовать свою оригинальную разметку и просто стиль (используя класс "navbar" в той ширине, которая вам нужна:

.navbar {
width: 50%;
}

<div class="container">
  <div class="navbar navbar-fixed-top">

Смотрите учебник здесь:

http://www.webdesignforbeginners.info/bootstrap-simple-navbars/

Ответ 4

Bootstrap 3+ должен иметь возможность обрабатывать динамическую ширину для вас, если вы нанесете свой navbar в div с помощью class container, тогда ширина будет динамической в ​​зависимости от доступного пространства.

Посмотрите Bootstrap css, а именно раздел container для более подробной информации.

Ответ 5

Меньше для решения Tommy Nguyen.

.navbar-fixed-width {
  margin-left: auto;
  margin-right: auto;

  @media all and (min-width: @screen-sm-min) {
    width: @screen-sm-min;
  }

  @media all and (min-width: @screen-md-min) {
    width: @screen-md-min;
  }

  @media all and (min-width: @screen-lg-min) {
    width: @screen-lg-min;
  }
}