Значение чисел в «col-md-4», «col-xs-1», «col-lg-2» в Bootstrap

253

Я запутался с сеткой в ​​новом бутстрапе, особенно в этих классах:

col-lg-*
col-md-*
col-xs-*

(где * обозначает некоторое число)

может кто-нибудь объяснить, как этот номер выравнивает сетки и как использовать эти числа и то, что они фактически представляют

  • 9
    Вы найдете объяснение здесь . Вы можете использовать число в столбце по своему усмотрению, но убедитесь, что сумма чисел всех столбцов в одной строке должна быть равна 12
Теги:
grid
twitter-bootstrap-3

4 ответа

515
Лучший ответ

Игнорирование букв (xs, sm, md, lg) пока, я начну с цифр...

  • числа (1-12) представляют часть общей ширины любого div
  • все div разделены на 12 столбцов
  • поэтому col-*-6 охватывает 6 из 12 столбцов (половина ширины), col-*-12 охватывает 12 из 12 столбцов (вся ширина) и т.д.

Итак, если вы хотите, чтобы два равных столбца охватывали div, пишите

<div class="col-xs-6">Column 1</div>
<div class="col-xs-6">Column 2</div>

Если вы хотите, чтобы три неравных столбца охватывали ту же ширину, вы можете написать:

<div class="col-xs-2">Column 1</div>
<div class="col-xs-6">Column 2</div>
<div class="col-xs-4">Column 3</div>

Вы заметите, что число столбцов всегда равно 12. Это может быть меньше двенадцати, но будьте осторожны, если больше 12, так как ваши оскорбительные divs будут удаляться до следующей строки (не .row, которая другая история вообще).

Вы также можете размещать столбцы в столбцах (лучше всего с оберткой .row), например:

<div class="col-xs-6">
  <div class="row">
    <div class="col-xs-4">Column 1-a</div>
    <div class="col-xs-8">Column 1-b</div>
  </div>
</div>
<div class="col-xs-6">
  <div class="row">
    <div class="col-xs-2">Column 2-a</div>
    <div class="col-xs-10">Column 2-b</div>
  </div>
</div>

Каждый набор вложенных div также охватывает до 12 столбцов их родительского div. ПРИМЕЧАНИЕ.. Поскольку каждый класс .col имеет 15px дополнение с обеих сторон, вы обычно должны обернуть вложенные столбцы в .row, который имеет поля -15px. Это позволяет избежать дублирования отступов и сохраняет содержимое, выровненное между вложенными и не вложенными классами col.

- Вы специально не спрашивали об использовании xs, sm, md, lg, но они идут рука об руку, поэтому я не могу не касаться этого...

Короче говоря, они используются для определения размера экрана, который должен применять класс:

  • xs = дополнительные маленькие экраны (мобильные телефоны)
  • sm = маленькие экраны (планшеты)
  • md = средние экраны (некоторые настольные компьютеры)
  • lg = большие экраны (остальные рабочие столы)

Обычно вы должны классифицировать div, используя несколько классов столбцов, чтобы он вел себя по-разному в зависимости от размера экрана (это является основой того, что делает бутстрап отзывчивым). например: div с классами col-xs-6 и col-sm-4 будет охватывать половину экрана на мобильном телефоне (xs) и 1/3 экрана на планшетах (см).

<div class="col-xs-6 col-sm-4">Column 1</div> <!-- 1/2 width on mobile, 1/3 screen on tablet) -->
<div class="col-xs-6 col-sm-8">Column 2</div> <!-- 1/2 width on mobile, 2/3 width on tablet -->

ПРИМЕЧАНИЕ: в соответствии с комментарием ниже, классы сетки для данного размера экрана применяются к размеру экрана и больше, если другое объявление не отменяет его (т.е. col-xs-6 col-md-4 охватывает 6 столбцы на xs и sm и 4 столбца на md и lg, хотя sm и lg никогда не были явно объявлены)

ПРИМЕЧАНИЕ:, если вы не определяете xs, по умолчанию будет col-xs-12 (т.е. col-sm-6 составляет половину ширины на sm, md и lg экраны, но полноразмерные на экранах xs).

ПРИМЕЧАНИЕ: это действительно отлично, если ваш .row включает более 12 колонок, если вы знаете, как они будут реагировать. - Это спорная проблема, и не все согласны.

  • 33
    Также стоит отметить, что классы сетки для данного размера экрана применяются к экранам такого размера и больше , если только они не будут переопределены. Например, .col-xs-2.col-sm-2.col-lg-7 эквивалентен. col-xs-2.col-lg-7
  • 5
    Вы должны внести исправления в свой пример относительно вложенности. Вложение требует вставки строки в столбец, в который вы вкладываете другие столбцы. Если вы не добавите строку, у вас будет двойной отступ. Для лучшего понимания этого см. Схему в моем ответе здесь: stackoverflow.com/questions/23899715/…
Показать ещё 4 комментария
12

Система сетки Bootstrap имеет четыре класса:
xs (для телефонов)
см (для планшетов)
md (для настольных компьютеров)
lg (для больших настольных компьютеров)

Вышеупомянутые классы могут быть объединены для создания более динамичных и гибких макетов.

Совет.. Каждый класс масштабируется, поэтому, если вы хотите установить одинаковые ширины для xs и sm, вам нужно только указать xs.

ОК, ответ прост, но читайте дальше:

col-lg - обозначает столбец большой ≥ 1200px
col-md - обозначает среду столбца ≥ 992px
col-xs - обозначает дополнительный столбец ≥ 768px

Число пикселей - это точки останова, поэтому, например, col-xs нацеливается на элемент, когда окно меньше 768px (вероятные мобильные устройства)...

Я также создал изображение ниже, чтобы показать, как работает система сетки. В этом примере я использую их с 3, например col-lg-6, чтобы показать вам, как работает сетка на странице, посмотрите, как lg, md и xs реагируют на размер окна:

Изображение 2348

  • 0
    col-xs-* были исключены в Bootstrap 4 в пользу col-*
  • 0
    Не могли бы вы поделиться HTML (и, возможно, любой CSS)? Благодарю.
8

От Twitter Загрузочная документация:

  • маленькая сетка (≥ 768px) = .col-sm-*,
  • средняя сетка (≥ 992px) = .col-md-*,
  • большая сетка (≥ 1200px) = .col-lg-*.

Подробнее...

6

Главное:

col-lg-* col-md-* col-xs-* col-sm определить, сколько столбцов будет в этих разных размерах экрана.

Пример: если вы хотите, чтобы на экранах рабочего стола и на экранах телефона было два столбца, вы помещаете в свои столбцы два класса col-md-6 и два col-xs-6.

Если вы хотите, чтобы на экранах рабочего стола было два столбца и только один столбец на экранах телефонов (т.е. два ряда, уложенных друг на друга), вы помещаете two col-md-6 и два col-xs-12 в свои столбцы и потому, что сумма будет 24 они будут автоматически складываться друг на друга или просто оставить стиль xs.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню