Присоединяйтесь к новому бесплатному курсу по Angular: "Список пользователей"
Курс проходит в мессенджере (Telegram, Viber). В конце курса - сессия живого разбора кода. Регистрация по ссылке.

22 Мар 2016

Обзор фреймворка Bootstrap3. Часть 1

Bootstrap это Javascript, HTML и CSS фреймворк. Он позволяет легко делать адаптивные сайты, которые одинаково хорошо отображаются на всех устройствах и браузерах, кроме того он прост в использовании. Начнем мы как всегда с установки этого фреймворка. Установить его можно несколькими способами:

  1. Зайти на официальный сайт: http://getbootstrap.com/ и скачать файл с css, js файлами и шрифтами.
  2. Подключить через CDN(Contend Delivery Network).

Если вы не знаете что такое CDN, информацию об этой технологии вы можете найти в наших предыдущих статьях. Я выбрал установку с помощью CDN, так как это на мой взгляд наиболее быстрый и эффективный способ. Bootstrap не работает без JQuery по этому не забудьте, что ее так же необходимо подключить. Для тех кто не работал с jQuery советую прочитать цикл статей на нашем сайте об этой библиотеке, где она подробно описана.

Вот как будет выглядеть наш HTML документ со всеми подключенными библиотеками/фреймфорками.


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<title>The bootstrap first steps</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

<script> src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"</script>
<script> src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"</script>
</head>
</body>

</body>
</html>

В первую очередь Bootstrap разрабатывался для того чтобы быть адаптивным под мобильные устройства. Потому мы добавили специальный мета тег meta name="viewport" content="width=device-width, initial-scale=1" который ставит ширину страницы относительно ширины устройства на котором открывается страница, в также устанавливает масштаб.

Классы контейнеры.

В Bootstrap есть специальные элементы, точнее классы, которые прописываются в HTML элементах и несут в себе определенную функцию. Начнем с классов .container и .container-fluid которые служат контейнерами для контента сайта. Класс .container имеет адаптивную фиксированную ширину и установленное css свойство padding а у .container-fluid ширина полная не фиксированная, по этому он используется для так называемой «резиновой верстки». Элемент с этим классом должен располагаться на самом верхнем уровне.
Следующим элементом, который должен быть вложен в .container будет элемент с классом .row
Класс .row — служит контейнером для элементов div с классами .col-*(lg, md, sm, xs), каждый класс row может иметь не больше 12 столбиков(и не меньше).

Система ячеек.

Данный фреймворк имеет специальную систему «ячеек» которая разбивает страницу на 12 блоков(столбиков), это хороший инструмент в компоновке и дизайне сайта. При необходимости блоки можно объединять создавая более широкие столбцы. Система ячеек имеет четыре класса .col-lg .col-md .col-sm .col-xs эти классы задают величину столбиков, соответственно xs — для телефонов, sm — для планшетов, md — для компьютеров(средних мониторов) и lg — для компьютеров(больших мониторов). Для создание более динамичного и гибкого дизайна классы можно комбинировать.


<style>
.col-md-3{
border: 1px solid black;
background-color: dodgerblue;
}
.col-md-4{
border: 1px solid black;
background-color: peachpuff;
}
.col-md-5{
border: 1px solid black;
background-color: lemonchiffon;
}
</style>

<body>
<div class="container">
<div class="row">
<div class="col-md-5">
Some random text
</div>
<div class="col-md-3">
Some random heading
</div>
<div class="col-md-4">
Some random heading
</div>
</div>
</div>
</body>

2016-02-23 21-06-03 The bootstrap first steps - Google Chrome

Каждый класс col-* имеет разные размеры что видно с помощью разных фоновых цветов элементов и их границ.

Цветовые классы.

В Bootstrap есть контекстные классы которые используются для обозначения смыслового подтекста через изменения цвета текста, .text-muted, .text-primary, .text-success, .text-info, .text-warning и .text-danger.


<body>
<div class="container">
<h1 class="text-primary">Some random primary text 1 </h1>
<h2 class="text-danger">Some random danger text 2 </h2>
<h3 class="text-success">Some random success text 3 </h3>
</div>
</body>

2016-02-23 21-53-57 The bootstrap first steps - Google Chrome

Так же есть классы для фонового цвета.


<body>
<div class="container">
<h1 class="bg-primary"> Some random primary text 1 </h1>
<h2 class="bg-danger"> Some random danger text 2 </h2>
<h3 class="bg-success"> Some random success text 3 </h3>
</div>
</body>

FireShot Capture 28 - The bootstrap first s_ - http___localhost_63342_code_camp_bootstrap_index.html

Таблицы.

У данного фреймворка есть ряд классов для создания и стилизации таблиц.
.table — базовый стиль для таблицы, нет всех границ только нижние.
.table-striped — стиль таблицы серо-белый полосы.
.table-bordered — добавляет все границы таблицы.
.table-hower — при наведении на любую строку таблицы, строка подсвечивается.
.table-condensed — класс делает таблицу более компактной за счет уменьшении свойстваpadding.
.table-responsive — делает таблицу адаптивной под любые размеры устройств.


<body>
<div class="container">
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>Heading 1</th>
<th>Heading 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>name 1</td>
<td>name 2</td>
</tr>
<tr>
<td>lastName 1</td>
<td>lastName 2</td>
</tr>
<tr>
<td>email 1</td>
<td>email 2</td>
</tr>
</tbody>
</table>
</div>
</body>

Как видите из рисунка элементу можно задавать несколько классов из одной под-группы и функциональность всех классов будет работать.

Bootstrap изображения.

Для изображений в Bootstrap тоже есть полезные классы.
.img-rounded — делает края изображения закругленными.
.img-thumbnail — создает красивую рамку по контуру изображения.
.img-circle — формирует изображения в кругообразную(овальную) форму.
.img-responsive — класс адаптирует и масштабирует изображения под любые размеры. Данный класс применяет такие css свойства display: block, max-width: 100% и height: auto.


<body>
<div class="container">
<div class="row">
<div class="col-xs-3">
<img class="img-rounded img-responsive" src="http://www.syntaxxx.com/wp-content/uploads/2014/02/twitter-bootstrap.jpg" alt="bootstrap" width="200" height="200">
</div>
<div class="col-xs-3">
<img class="img-thumbnail img-responsive" src="http://www.syntaxxx.com/wp-content/uploads/2014/02/twitter-bootstrap.jpg" alt="bootstrap" width="200" height="200">
</div>
<div class="col-xs-3">
<img class="img-circle img-responsive" src="http://www.syntaxxx.com/wp-content/uploads/2014/02/twitter-bootstrap.jpg" alt="bootstrap" width="200" height="200">
</div>
<div class="col-xs-3"></div>
</div>
</div>
</body>

2016-02-24 17-52-39 The bootstrap first steps - Google Chrome

Bootstrap Jumbotron.

Класс .jumbotron делает большой блочный элемент для привлечения экстра внимание к контенту или информации. Он отображается как большой блок с серым фоновым цветом и закругленными краями, плюс в нем установлен большой размер шрифта. Внутри этого блока можно поместить любой HTML элемент.


<body>
<div class="container-fluid">
<div class="jumbotron">
<h1>Some heading inside the jumbotron element.</h1>
<h2>Some heading inside the jumbotron element.</h2>
<h3>Some heading inside the jumbotrin element.</h3>
</div>
<h1>Some heading outside the jumbotron.</h1>
<h2>Some heading outside the jumbotron.</h2>
</div>
</body>

2016-02-24 18-15-56 The bootstrap first steps - Google Chrome

Углубления.

Данный класс .well добавляет рамку с закруглёнными краями вокруг элемента и устанавливает свойство padding.


<body>
<div class="container-fluid">
<div class="well">
<h3>Some text inside the well.</h3>
</div>
</div>
</body>

FireShot Capture 35 - The bootstrap first s_ - http___localhost_63342_code_camp_bootstrap_index.html

На этом мы заканчиваем первую часть обзора фреймворка Bootstrap.