Жидкая или фиксированная сеточная система, в адаптивном дизайне, основанная на Twitter Bootstrap - PullRequest
397 голосов
/ 20 марта 2012

Я запутался в различных параметрах сетки начальной загрузки Twitter и в том, как они работают вместе.

Для начала, вы можете иметь обычную фиксированную container или container-fluid.

Тогда либо можно включить либо обычный row, либо ряд жидкости, row-fluid. То есть у вас может быть фиксированный контейнер с рядом жидкости или контейнер с жидкостью ... с фиксированным рядом?

Кроме того, вы можете включать «отзывчивые» медиа-запросы или нет.

Я запутался в том, как эти вещи взаимодействуют. Но давайте начнем с одного очевидного примера.

На самой странице примеров есть то, что представлено как пример * фиксированной сетки и жидкостной сетки

Однако в моем браузере, на самой странице примера, обе сетки ведут себя одинаково. Возможно, потому что пример страницы использует дополнительные адаптивные медиа-запросы? В обоих примерах сетки, если я начинаю постепенно сужать окно браузера, элементы сетки не постепенно сужаются - как только достигается определенная (отзывчивая) ширина границы, они привязываются к меньший размер, и снова на дальнейших границах ширины. Но и обычный «фиксированный» пример, и «жидкий» пример ведут себя здесь точно так же - так в чем же разница?

Ответы [ 5 ]

443 голосов
/ 28 марта 2012

Когда вы выбираете между фиксированной шириной и шириной жидкости, вы должны думать в терминах вашей ВСЕЙ страницы. Как правило, вы хотите выбрать один или другой, но не оба. Примеры, которые вы перечислили в своем вопросе, на самом деле, находятся на одной странице с фиксированной шириной. Другими словами, страница Scaffolding использует макет фиксированной ширины. фиксированная сетка и жидкостная сетка на странице "Строительные леса" предназначены не для примера, а для документации по реализации макетов с фиксированной и изменяемой шириной.

Пример правильной фиксированной ширины здесь . Пример правильной ширины жидкости здесь .

При рассмотрении примера с фиксированной шириной вы не должны видеть изменения размера контента, когда ваш браузер имеет ширину более 960 пикселей. Это максимальная (фиксированная) ширина страницы. Медиа-запросы в дизайне с фиксированной шириной будут определять минимальную ширину для определенных стилей. Вы увидите это в действии, когда сократите окно браузера и увидите, что макет привязан к другому размеру.

И наоборот, макет ширины жидкости будет всегда растягиваться, чтобы соответствовать окну вашего браузера, независимо от его ширины. Медиа-запросы указывают, когда стили меняются, но ширина контейнеров всегда в процентах от вашего окна браузера (а не фиксированное количество пикселей).

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

Ранее в начальной загрузке 2 вам приходилось использовать row-fluid внутри контейнера с жидкостью и row внутри фиксированного контейнера. С введением начальной загрузки 3, row-fluid был удален, больше не использует его .

РЕДАКТИРОВАТЬ : Согласно комментариям, некоторые jsFiddles для:

Эти скрипты полностью не загружаются при загрузке и основаны на чистых медиазапросах CSS, что делает их хорошей отправной точкой для тех, кто хочет создать подобное решение без использования Twitter Bootstrap.

21 голосов
/ 08 сентября 2012

Интересная дискуссия.Я тоже задавал себе этот вопрос.Основное различие между текучим и фиксированным заключается в том, что фиксированный макет имеет фиксированную ширину с точки зрения всего макета веб-сайта (видового экрана).Если у вас есть окно просмотра шириной 960 пикселей, каждая колонка имеет фиксированную ширину, которая никогда не изменится.

Расположение жидкости ведет себя по-разному.Представьте, что вы установили ширину вашего основного макета на 100% ширины.Теперь каждый столбец будет рассчитываться только по его относительному размеру (то есть 25%) и растягивается по мере изменения размера браузера.Таким образом, в зависимости от цели вашего макета вы можете выбрать, как ваш макет ведет себя.

Вот хорошая статья о жидкости и гибкости .

7 голосов
/ 18 июня 2013

Источник - http://coding.smashingmagazine.com/2009/06/02/fixed-vs-fluid-vs-elastic-layout-whats-the-right-one-for-you/

За

  • Компоновки с фиксированной шириной намного проще в использовании и легче настраиваются с точки зрения дизайна.
  • Ширина одинакова для каждого браузера, поэтому меньше проблем с изображениями, формами, видео и другим контентом с фиксированной шириной.
  • Нет необходимости в min-width или max-width, что в любом случае поддерживается не каждым браузером.
  • Даже если веб-сайт совместим с наименьшим разрешением экрана, 800 × 600, контент все равно будет достаточно широким при большем разрешении, чтобы его можно было легко прочитать.

Против

  • Компоновка с фиксированной шириной может создавать чрезмерные пробелы для пользователей с большими разрешениями экрана, что нарушает «божественную пропорцию», «Правило третей», общий баланс и другие принципы дизайна.
  • Для меньших разрешений экрана может потребоваться горизонтальная полоса прокрутки, в зависимости от ширины фиксированного макета.
  • Для размещения изображений с большими разрешениями необходимы бесшовные текстуры, узоры и продолжение изображений.
  • Макеты с фиксированной шириной обычно имеют более низкий общий балл, когда дело доходит до удобства использования.
6 голосов
/ 24 февраля 2014

Расположение жидкости в Bootstrap 3.

В отличие от Boostrap 2, Bootstrap 3 не имеет смесителя .container-liquid для создания контейнера для жидкости..Container - это структура сетки с фиксированной шириной.На большом экране по обе стороны от содержимого веб-страницы имеются чрезмерные пробелы.

container-fluid добавлено обратно в Bootstrap 3.1

В жидкой сетке используется вся ширина экрана и все работает.лучше на большом экране.Оказывается, что легко создать текучую сетку, используя миксины Bootstrap 3.Следующая строка создает макет сетки, реагирующий на текучие среды:

.container-fixed;

Фиксированный микс .container устанавливает содержимое в центр экрана и добавляет отступы.Он не определяет фиксированную ширину страницы.

Другой подход заключается в использовании стиля Эрика Флауэрса CSS

.my-fluid-container {
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
}
0 голосов
/ 16 ноября 2015

вы можете использовать это - https://github.com/chanakyachatterjee/JSLightGrid ..JSLightGrid.Посмотрите .. Я нашел это действительно очень полезным.Хорошая производительность, очень легкий вес, все важные браузеры, дружественные и гибкие сами по себе, так что вам не нужен самозагрузка для сетки.

...