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

Контейнер BootStrap 3 внутри контейнер-жидкость

Ниже приведен макет, в котором я работаю над использованием BootStrap3. У меня есть пример установки с ограниченным макетом для этого вопроса на http://jsfiddle.net/s7Rwj/4

WebSite Layout

Мне сложно настроить заголовок. Я использую ширину контейнера-жидкости, поэтому ширина заголовка 100%, но спросите, что из трех элементов внутри заголовка один должен оставаться слева, а остальные два должны совпадать соответственно слева и справа от "контейнера".

До сих пор я пробовал различные макеты, но ниже это единственное, что близко к тому, что я ищу.

    <header class="container-fluid navbar-fixed-top">
        <div class="row">
            <div class="col-xs-12" style="background-color:aliceblue">                    
                <div class="container">
                    <div class="row">
                        <div class="col-xs-6" style="background-color:violet">2</div>
                        <div class="col-xs-6 pull-right" style="background-color: lightblue">3</div>
                    </div>
                </div>
                <span style="position:absolute;top:0;left:0">
                    A quick brown fox jumps over the lazy dog.
                </span>
            </div>
        </div>
    </header>

Однако вызов с этим макетом заключается в том, что, поскольку диапазон использует абсолютную позицию, когда браузер изменен, текст перекрывает второй элемент внутри заголовка. Я уже пробовал предоставить ему явную ширину, но это не помогло.

Если я не использую абсолютную позицию, тогда диапазон и остальные элементы отображаются в двух разных строках.

Я ищу совет по настройке этого заголовка.

PS: Я добавил случайные цвета фона в тег div, чтобы понять, где они отображаются. Не стесняйтесь их игнорировать.

4b9b3361

Ответ 1

Я думаю, вы ищете трудности там, где они не являются.

Вам следует избегать вложенных контейнеров (.container и .container-fluid), потому что они не являются гнездовыми из-за их заполнения и т.д. посмотрите обзор Bootstrap 3 Containers

Кроме того, когда вы вставляете столбцы, все, что вам нужно сделать, это поместить новую строку в один из столбцов и поместить в нее вложенные столбцы. См. Bootstrap 3 Grid system - вложенные столбцы, вот их пример:

<div class="row">
  <div class="col-sm-9">
    Level 1: .col-sm-9
    <div class="row">
      <div class="col-xs-8 col-sm-6">
        Level 2: .col-xs-8 .col-sm-6
      </div>
      <div class="col-xs-4 col-sm-6">
        Level 2: .col-xs-4 .col-sm-6
      </div>
    </div>
  </div>
</div>

Решение, которое вы ищете, с макетом очень просто. В заголовке вам необязательно нужна жидкость-контейнер. Просто создайте контейнер для центральной части над карусели и оберните его в .wrap или любой другой класс, который вы можете стилизовать по ширине: 100%. Кроме того, вы можете добавить некоторые дополнения, которые имеют контейнер-жидкость.

<header class="wrap navbar-fixed-top">
    <div class="container">
        <div class="row">
            <div class="col-xs-6" style="background-color: violet;">2</div>
            <div class="col-xs-6 pull-right" style="background-color: lightblue;">3</div>
        </div>
        <span style="position:absolute;top:0;left:0">
            A quick brown fox jumps over the lazy dog.
        </span>
    </div>
</header>

И где-то в вашем CSS (я рекомендую style.less), вы можете стилить .wrap до 100% ширины, хотя это должна быть ширина по умолчанию для каждого div без стилей.

.wrap {
    width: 100%;
}

Я знаю, что этот вопрос немного старше, но это не имеет значения. Надеюсь, я правильно понял ваш вопрос.

Ответ 2

Я действительно не вижу проблем с использованием контейнера Bootstrap, вложенного в контейнерную жидкость. Я сделал это недавно в теме, которую я построил, которая использует построитель страниц. Это позволило клиенту легко создавать страницы с различными строками фиксированной и полной ширины с помощью компоновщика страниц.

Просто добавьте что-то подобное в таблицу стилей:

.container-fluid .container {
    padding-left:0;
    padding-right:0;
}

Тем не менее, я думаю, что то, что вы пытаетесь, может быть решено путем добавления некоторого дополнения к первому столбцу в контейнерной жидкости. Чтобы сделать его мобильным, добавьте это дополнение в медиа-запрос в точке останова, где текст начинает перекрываться. Это не самый красивый способ сделать это, но как я подхожу к нему, учитывая то, что вы пытаетесь выполнить.

<header class="container-fluid navbar-fixed-top">
    <div class="row">
        <div class="col-xs-12" style="background-color:aliceblue; padding-top:30px;">
            <div class="container">
                <div class="row">
                    <div class="col-xs-6" style="background-color:violet">2</div>
                    <div class="col-xs-6" style="background-color: lightblue">3</div>
                </div>
            </div> 
            <span style="position:absolute;top:0;left:0">
                        Some text
            </span>
        </div>
    </div>
</header>

LINK: http://jsfiddle.net/udLbLwh6/

Ответ 3

Я считаю, что вложенные контейнеры прекрасно подходят. Пока вы удаляете прокладку на контейнере внутри .container-fluid (.container-fluid.container {padding: 0;}), то что еще не все в порядке?