Полная ширина макета с twitter bootstrap
Я пытаюсь выполнить макет, похожий на этот: http://dribbble.com/shots/829195-Slate/attachments/86422
мой проект использует Twitter Bootstrap с адаптивным дизайном. Можно ли реализовать полную ширину макета с Bootstrap?
проблема в том, что из того, что я читал жидкие макеты, будут удалены в bootstrap 3.0, а адаптивный дизайн имеет фиксированную ширину.
10 ответов:
поскольку принятый ответ не находится на той же планете, что и BS3, я поделюсь тем, что я использую для достижения почти полной ширины возможностей.
во-первых, это обман. Это не совсем жидкая ширина, но она, похоже, зависит от размера экрана, просматривающего сайт.
проблема с сайтами BS3 и fluid width заключается в том, что они приняли этот "мобильный первый" подход, который требует, чтобы они определяли каждую ширину экрана до того, что они считают рабочий стол (1200px) я работаю на ноутбуке с широким экраном 1900px - так что я в конечном итоге с 350px по обе стороны от контента в том, что BS3 думает, что это ширина рабочего стола.
они определили 10 Ширин экрана (на самом деле только 5, но в любом случае). Я не хочу изменять, потому что они являются общими ширины. Итак, я решил определить некоторые дополнительные ширины для BS на выбор при принятии решения о ширине класса контейнера.
способ, которым я использую BS, состоит в том, чтобы взять все Bootstrap предоставил меньше файлов, опустите переменные.меньше файлов, чтобы обеспечить мой собственный, и добавить один из моих собственных до конца, чтобы переопределить то, что я хочу изменить. В моем файле less я добавляю следующее Для достижения 2 общих настроек ширины экрана:
@media screen and (min-width: 1600px) { .container { max-width: (1600px - @grid-gutter-width); } } @media screen and (min-width: 1900px) { .container { max-width: (1900px - @grid-gutter-width); } }
эти два параметра задают пример того, что вам нужно сделать для достижения различной ширины экрана. Здесь вы получаете полную ширину в 1600px и 1900px. Любой меньше чем 1600-BS падает назад к ширине 1200px, после этого к 768px и так далее - вплоть до размера телефона.
Если у вас есть больше, чтобы поддержать, просто создайте больше @media screen заявления, как эти. Если вы создаете CSS вместо этого, вам нужно будет определить, какая ширина желоба была использована, и вычесть ее из ширины целевого экрана.
обновление: BS 3.0.1 и выше (до сих пор) - это так же просто, как установка @container-large-desktop на 100%
вы найдете отличный учебник здесь: bootstrap-3-grid-введение и ответ на ваш вопрос
<div class="container-fluid"> ... </div>
обновление:
Bootstrap 3 был выпущен с тех пор, как на этот вопрос был первоначально дан ответ в январе, поэтому, если вы являетесь пользователем BS3, обратитесь к BS3 документация. Для тех, кто все еще находится на BS2, исходный ответ все еще применяется. Если вы заинтересованы в переключении с 2 на 3, см. миграция руководство.
оригинальный ответ:
из начальной загрузки 2 docs:
сделайте любую строку "жидкой" изменение.подряд .ряд-жидкость. Столбец классы остаются точно такими же, что позволяет легко переключаться между фиксированными и жидкие сетки.
код
<div class="row-fluid"> <div class="span4">...</div> <div class="span8">...</div> </div>
Это, в сочетании с установкой ширины вашего контейнера на значение жидкости, должно позволить вам получить желаемую компоновку.
начиная с последней начальной загрузки (3.1.x), способ достижения жидкого макета его использовать
.container-fluid
класса.посмотреть Bootstrap grid для справки
в Bootstrap 3, столбцы указываются в процентах. (В Bootstrap 2 это было только в том случае, если столбец/span находился в пределах
.row-fluid
элемент, но это больше не нужно, и этот класс больше не существует.) Если вы используете.container
, тогда @Michael абсолютно прав, что вы застряли с макетом фиксированной ширины. Однако, вы должны быть в хорошей форме, если вы просто не используйте .элемент контейнера.<body> <div class="row"> <div class="col-lg-4">...</div> <div class="col-lg-8">...</div> </div> </body>
поле для тела уже 0, так что вы должны быть в состоянии Встань прямо на край. (Столбцы по-прежнему имеют заполнение 15px с обеих сторон, поэтому вам, возможно, придется учитывать это в своем дизайне, но это не должно вас останавливать, и вы всегда можете настроить это при загрузке Bootstrap.)
просто создайте еще один класс и добавьте вместе с bootstrap
container
класса. Вы также можете использоватьcontainer-fluid
хотя.<div class="container full-width"> <div class="row"> .... </div> </div>
часть CSS довольно проста
* { margin: 0; padding: 0; } .full-width { width: 100%; min-width: 100%; max-width: 100%; }
надеюсь, это поможет, Спасибо!