Bootstrap сетка за 15 минут

Bootstrap является сейчас самым используемым фреймворком. Когда он только появился, он стал отличным выбором как для разработчиков сайтов так и для любителей, благодаря своей простоте.

Любой человек который знает, хотя бы в общих чертах, HTML и CSS может начать использовать данный фреймворк уже сейчас.

В данной статье рассмотрим такое базовое понятие как, bootstrap сетка - она является фундаментом данного фреймворка.

1. Rows и Columns

Часть заголовка я специально оставил на английском языке, чтобы возникало меньше путаницы (rows - ряды, columns - колонки)

Сетка состоит и строк и колонок, что позволяет на позиционировать элементы на странице как угодно.

Rows (ряды) - это один уровень блоков. Это означает, что когда мы создаем новый ряд (row) он занимает всю ширину элемента внутри которого он находится.

Горизонтальное выравнивание осуществляется с помощью колонок (Columns). Дочерними элементами ряда может являться только колонка. Размещение контента в row без колонки - может привести к нарушению макета

<!-- Не правильно-->
<div class="row">
    Ваш контент
</div>

<!-- Правильно-->
<div class="row">
    <div class="col-md-12">Правильно размещенный контент</div>
</div>

Замечание: Колонки и ряды имеют особые отношения. Каждая колонока имеют отступ - padding - в 15px слева и справа, таким образом контент внутри имеет равные отступы по краям. Такие правила "отодвигают" колонки от ряда на 15px , а это может нарушить макет, чтобы этого не происходило для row заданы отрицательные отступы что позволяет размещать крайние элементы без отступов от родителя, и именно поэтому колонку всегда следует оборачивать в row.

2. Row разделены 12

Ряд поделен на 12 равных частей. Когда мы собираемся разместить внутри ряда колонку - нам необходимо указать ее ширину - ширину которую займет колонка. Это делается путем добавления в блоку div класса col-md-номер , где номер может быть целым числом от 1 до 12. В зависимости от данного числа, столбец будет занимать определенный процент от полной щирины строки. Например: 6 это 50% от ширину ряда так как 6/12 = 0,5, 3 - 25% (3/12) и т.д.

<div class="row">
    <div class="col-md-12">Вся ширина ряда</div>
</div>

<div class="row">
    <div class="col-md-3">25%</div>
    <div class="col-md-3">25%</div>
    <div class="col-md-6">50%</div>
</div>

3. Обертывание колонок

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

В примере первые 2 колонки  имеют ширину 8 и 4 соотвественно, что в сумме дает 12. Таким образом первая строка становится заполненной и следующий за ними элемент будет перенесен на следующую строку.

<div class="row">
    <div class="col-xs-8"></div>
    <div class="col-xs-4"></div>
    <div class="col-xs-9">Эта колонка шириной 9 будет перенесена на следующую строчку</div>
</div>

 4. Классы для размеров экрана

 Помните мы писали .col-md-номер во втором  шаге? Этот -md- означает средние размеры экрана (от слова medium - средние). В bootstrap заложены стандартные классы для использования на разных размерах экрана:

xs - (Extra small) - Экстра маленькие экраны, такие как у смартфонов, Используйте их так: .col-xs-номер

sm - (Small Screens) - Маленькие экраны, такие как у планшетов. Использование: .col-sm-номер

md - (Medium) - Средние размеры экранов, это экраны с низким количеством точек на дюйм и ноутбуки. Использование такое же как и в предыдущих примерах: .col-md-номер

lg - (Large) - Большие экраны с высоким разрешением. .col-lg-номер 

Bootstrap высчитывает разрешение экрана и dpi (количество точек на дюйм или плотность пикселей) и в соответствии с этим вычислением указывает какой класс активен в данный момент. Это полноценный способ контролировать как положение, так и отображение контента в целом для любых устройств.

<div class="row">
    <div class="col-xs-12 col-md-6"><p>Данный блок на среднем экране займет половину, на очень маленьком - всю ширину</p></div>
    <div class="col-xs-12 col-md-6"><p>Данный блок на среднем экране займет половину, на очень маленьком - всю ширину</p></div>
</div>

5. Clearfix

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

<div class="row">
    <div class="col-xs-6 tall-column">Эта колонка выше чем все остальныне</div>
    <div class="col-xs-6"></div>
    <div class="clearfix"></div>
    <div class="col-xs-6"></div>
</div>

6. Offsets (Смещения) - ваши друзья

Изначально все колонки выравнены по левому краю и следуют строго друг за другом. Если количество колонок будет меньше 12, то справа останется свободное место.

Чтобы создать отступы слева и/или справа. Применение к любому блоку с колонкой класса .col-md-offset-2 сместит данный блок вправо на размер двух пустых колонок . Это же правило действует и ля других размеров экрана т.е. col-xs-2, col-sm-2 и прочие .

7. Классы Push и Pull

Классы .push и .pull позволяют нам переназначить привязку блоков в зависимости от экрана устройства. Класс .push двигает колонку к правому краю, а класс .pull - к левому. Отличие данного класса от offset в том что они имеют position:relative, таким образовам не сдвигая остальные блоки.

Классы push и pull имеют следущий синткасис: .col-размер-push(pull)-число. Размеры такие же как и в 4 пункте - xs, sm, md, lg. Номер это количество колонок, которые мы хотим подвинуть.

<div class="row">
    <div class="col-xs-4 col-md-push-8">На ноутбуках этот текст будет отображаться справа от картинки, на XS экранах картинка будет справа а текст слева</div>
    <div class="col-xs-8 col-md-pull-4"><img src="city.jpg" class="img-responsive"></div>
</div>

Заключение

 Вот и все основы, которые необходимо знать, чтобы начать использовать bootstrap сетку в своих проектах. На основе этих семи пунктов вы с легкостью можете сделать разметку для любого мобильного устройства без использования media запросов.

Но помимо данных правил существует еще ряд других, более расширенных,которые также часто используются.. Для их изучение посмотрите на русскоязычный портал о bootstrap http://bootstrap-3.ru/

Смотрите также

Показываем фото товара из торговых предложений вместо цвета товара
8 мокапов для дизайна флаеров
Шаблоны для историй (сторис) в instagram

Группа Вконтакте