Categories

Новые шаблоны

HTML/CSS. Сеточная система Bootstrap 3

Ryan DeWitt Июль 22, 2014
Rating: 3.5. From 4 votes.
Please wait...

Данный туториал предоставляет информацию о «грид» системе фреймворка Bootstrap 3.

Сеточная система Twitter Bootstrap предлагает быстрый и простой способ создавать разметку веб-страниц. Twitter Bootstrap 3 идет в комплекте с адаптивной мобильной плавающей системой сеток, которая структурируется вплоть до 12 колонок в зависимости от увеличения размера устройства или экрана. Давайте посмотрим, как она работает.

  1. Чтобы правильно выравнять и задать внутренний отступ сетки, блоки с классом .row нужно располагать внутри блоков с классом .container (фиксированная ширина) или .container-fluid (по ширине странице).

  2. Блоки с классом .row необходимо использовать для создания горизонтальных групп колонок.

  3. Содержание нужно располагать внутри колонок и только колонки могут быть непосредственными потомками блоков с классом .row.

  4. Предопределенные классы сеток, например .row и .col-xs-4, позволяют быстро создавать разметку сеток. Также можно использовать миксины языка стилей less для увеличения количества типов семантической разметки.

  5. Колонки создают промежутки (gutters) (разрывы между содержанием колонок) через внутренний отступ (padding). Этот внутренний отступ (padding) смещается для первой и последней колонок из-за отрицательного значения внешнего отступа (margin) блоков с классом .row.

  6. Колонки сеток создаются путем указания требуемого числа из двенадцати доступных колонок. Например, для трех одинаковых колонок нужно использовать три контейнера с классом .col-xs-4.

  7. Классы сеток применяются к устройствам, в которых ширина больше или равна контрольным размерам, и переопределяют классы сеток, предназначенных для меньших устройств. Таким образом, применение любого класса .col-md- к элементу задаст стиль не только для средних, но и для больших устройств в том случае, если не используется класс .col-lg- .

Разметка

Twitter Bootstrap 3 включает предопределенные классы сеток, чтобы быстро верстать сеточную разметку для различных типов устройств, например мобильные телефоны, планшеты, компьютеры и т.п. Например, можно использовать класс .col-xs- , чтобы создавать сеточные колонки для очень маленьких устройств, как, например, мобильный телефон; таким же образом класс .col-sm- употребляется для маленьких устройств ~ планшетов, класс .col-md- для средних устройств ~ компьютеров и .col-lg- для больших экранов компьютеров. Ниже приводятся виды разметки системы сеток Bootstrap.

  1. Очень маленькие устройства ~ телефоны (<768px)

  2. Маленькие устройства ~ планшеты (≥768px)

  3. Средние устройства ~ компьютеры (≥992px)

  4. Большие устройства ~ компьютеры (≥1200px)

Настройки сеток

Пожалуйста, ознакомьтесь со следующей таблицей для более детальной информации:

Разметка сеточной системы Bootstrap 3Очень маленькие устройства
Телефоны (<768px)
Маленькие устройства
Планшеты (≥768px)
Средние устройства
Компьютеры (≥992px)
Большие устройства
Компьютеры (≥1200px)
Максимальная ширина контейнераНет (авто)750px970px1170px
Префикс класса.col-xs-.col-sm-.col-md-.col-lg-
Максимальная ширина колонкиАвто~62px~81px~97px
Ширина промежутка (Gutter)15px с каждой стороны колонки (например 30px)

Применение класса .col-sm- к элементу повлияет на стиль не только для маленьких устройств, например планшетов, но также для средних и больших устройств с шириной экрана больше или равной 768px (т.е. ≥768px), если не употребляются классы .col-md- и .col-lg- . Подобным образом, класс .col-md- повлияет не только на стиль для средних устройств, но также и для больших, если не употребляется класс .col-lg- .

Приведем примеры:

  1. Stacked-to-horizontal (Построение блоков столбцом, которое переходит в строчное на компьютерах). При помощи простого набора сеточных классов .col-md-*, можно создать базовую сеточную систему, при которой блоки располагаются столбцом на мобильных устройствах и планшетах (очень маленькие и маленькие устройства), но трансформируются в строку на компьютерах (средние устройства). Колонки сетки могут располагаться в любом блоке с классом .row.

    HTMLCSS. Bootstrap 3 Grid System-1

    Пример кода:

    <div class="row">
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    	<div class="col-md-1">.col-md-1</div>
    </div>
    <div class="row">
    	<div class="col-md-8">.col-md-8</div>
    	<div class="col-md-4">.col-md-4</div>
    </div>
    <div class="row">
    	<div class="col-md-4">.col-md-4</div>
    	<div class="col-md-4">.col-md-4</div>
    	<div class="col-md-4">.col-md-4</div>
    </div>
    <div class="row">
    	<div class="col-md-6">.col-md-6</div>
    	<div class="col-md-6">.col-md-6</div>
    </div>   
    
  2. Fluid container (Подвижный контейнер). Превратите любую сеточную разметку с фиксированной шириной в подвижную, изменив класс контейнера с .container на .container-fluid.

    <div class="container-fluid">
    	<div class="row">
    	...
    	</div>
    </div>
    
  3. Mobile and desktop (Мобильные устройства и компьютер). Можно использовать классы сеток для очень маленьких и средних устройств, добавляя .col-xs-* .col-md-* в колонки.

    HTMLCSS. Bootstrap 3 Grid System-2

    Пример кода:

    <!-- Stack the columns on mobile by making one full-width and the other half-width -->
    <div class="row">
    	<div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
    	<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
    </div>
        
    <!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
    <div class="row">
      <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
      <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
      <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
    </div>
      
    <!-- Columns are always 50% wide, on mobile and desktop -->
    <div class="row">
      <div class="col-xs-6">.col-xs-6</div>
      <div class="col-xs-6">.col-xs-6</div>
    </div>
      
  4. Mobile, tablet, desktops (Мобильный, планшет, компьютеры). Постройте еще более динамичную разметку для планшета при помощи класса .col-sm-* , используя предыдущий пример.

    HTMLCSS. Bootstrap 3 Grid System-3

    Пример кода:

    <div class="row">
    	<div class="col-xs-12 col-sm-6 col-md-8">.col-xs-12 .col-sm-6 .col-md-8</div>
    	<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
    </div>
    <div class="row">
    	<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
    	<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
    	<!-- Optional: clear the XS cols if their content doesn't match in height -->
    	<div class="clearfix visible-xs-block"></div>
    	<div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
    </div>
    
  5. Column wrapping (Перенос колонок). Если в одном блоке с классом .row находится больше 12 колонок, каждая группа дополнительных колонок будет переходить на новою строку как единое целое.

    HTMLCSS. Bootstrap 3 Grid System-4

    Пример кода:

    <div class="row">
        <div class="col-xs-9">.col-xs-9</div>
        <div class="col-xs-4">.col-xs-4<br>Since 9 + 4 = 13 &gt; 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
        <div class="col-xs-6">.col-xs-6<br>Subsequent columns continue along the new line.</div>
    </div>
    
  6. Responsive column resets (Исправление адаптивных колонок). При использовании четырех доступных сеток, вы столкнетесь с проблемой, когда в определенных точках колонки выглядят неправильно из-за разницы высоты. Чтобы это исправить, используйте комбинацию блока с классом .clearfix и адаптивных служебных классов.

    HTMLCSS. Bootstrap 3 Grid System-5

    Пример кода:

    <div class="row">
    	<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
    	<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
    
    <!-- Add the extra clearfix for only the required viewport -->
    	<div class="clearfix visible-xs-block"></div>
    	<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
    	<div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
    </div>
    
  7. Offsetting columns (Смещение колонок). Двигайте колонки вправо при помощи классов .col-md-offset-* . Эти классы увеличивают отступ слева от блока на * количество колонок. Например, класс .col-md-offset-4 подвинет блок с классом .col-md-4 на четыре колонки.

    HTMLCSS. Bootstrap 3 Grid System-6

    Пример кода:

    
    <div class="row">
    	<div class="col-md-4">.col-md-4</div>
    	<div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div>
    </div>
    <div class="row">
    	<div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
    	<div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
    </div>
    <div class="row">
    	<div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div>
    </div>
    
    
  8. Nesting columns (Вложенные колонки). Чтобы вложить содержание в основную сетку, добавьте новый блок с классом .row и набор колонок .col-sm-* внутри существующей колонки .col-sm-*. Вложенные блоки с классом row должны включать набор из 12 или менее колонок (не рекомендуется использовать все 12 доступных колонок).

    HTMLCSS. Bootstrap 3 Grid System-7

    Пример кода:

    <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>
    
  9. Column ordering (Порядок отображения колонок). Порядок отображения встроенных сеточных колонок можно изменить при помощи модифицированных классов .col-md-push-* and .col-md-pull-*.

    HTMLCSS. Bootstrap 3 Grid System-8

    Пример кода:

    <div class="row">
    	<div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div>
    	<div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div>
    </div>
    

Адаптивные служебные классы Bootstrap

  1. Используйте следующие адаптивные классы, чтобы управлять видимостью элементов на устройствах, чьи размеры экранов подпадают под определенный тип. В версии v3.2.0, классы .visible-*-* для каждого контрольного размера представляются в трех вариантах, по одному на каждое значение свойства CSS display : inline, block и inline-block.

    КлассОписание
    .visible-xs-*
    Делает элемент видимым только для очень маленьких устройств с шириной экрана меньше 768px. Скрыт для других.
    .visible-sm-*
    Делает элемент видимым только для маленьких устройств с шириной экрана больше или равной 768px (т.е. ≥768px), но меньше 992px. Скрыт для других.
    .visible-md-*
    Делает элемент видимым только для средних устройств с шириной экрана больше или равной 992px (т.е. ≥992px), но меньше 1200px. Скрыт для других.
    .visible-lg-*
    Делает элемент видимым только для больших устройств с шириной экрана больше или равной 1200px (т.е. ≥1200px). Скрыт для других.
  2. Подобным образом можно использовать служебные классы для скрытия, чтобы прятать элементы на определенных устройствах:

    КлассОписание
    .hidden-xs
    Делает элемент невидимым только для очень маленьких устройств с шириной экрана меньше 768px. Видим для других.
    .hidden-sm
    Делает элемент невидимым только для маленьких устройств с шириной экрана больше или равной 768px (т.е. ≥768px), но меньше 992px. Видимый для других.
    .hidden-md
    Делает элемент невидимым только для средних устройств с шириной экрана больше или равной 992px (т.е. ≥992px), но меньше 1200px. Видимый для других.
    .hidden-lg
    Делает элемент невидимым только для больших устройств с шириной экрана больше или равной 1200px (т.е. ≥1200px). Видимый для других.
  3. Можно использовать следующие служебные классы, чтобы показать или убрать определенные элементы при печати страницы.

    .visible-print-block
    Делает невидимыми блочные элементы (block) при предпросмотре страницы в браузере для печати.
    .visible-print-inline
    Делает невидимыми строчные элементы (inline) при предпросмотре страницы в браузере для печати.
    .visible-print-inline-block
    Делает невидимыми строчно-блочные элементы (inline-block) при предпросмотре страницы в браузере для печати.
    .hidden-print
    Скрывает элементы, которые видимы в браузере, при печати.

Шаблоны Bootstrap
Эта запись была размещена в Работа с CSS и помечена как 3, Bootstrap, classes, css, grid, layout, system. Добавьте в закладки постоянную ссылку.

Submit a ticket

Если вы не смогли найти подходящее решение проблемы, пожалуйста воспользуйтесь следующей ссылкой, чтобы отправить запрос команде технической поддержки.
Отправить запросВы получите ответ в течение 24 часов