Пособие по Twitter Bootstrap – Дизайн сайта от и до

Сейчас в среде веб-дизайнеров и разработчиков много говорят и пишут о Twitter Bootstrap. Кто-то называет его настоящим подарком для девелоперов с нулевым уровнем знаний в веб-дизайне. В то время как другие называют это благословением для дизайнеров. Как бы то ни было, Twitter Bootstrap делает многие вещи проще и быстрее.

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

Этот процесс может затянуться чертовски надолго и серьезно тормозит девелопера, для которого очень важно, чтобы его/ее идея реализовалась как можно скорее. В этих случаях, им на помощь, как супергерой из комиксов, приходит Twitter Bootstrap!

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

Короче говоря, Twitter Bootstrap уже имеет готовые списки стилей CSS, встроенную поддержку JQuery, а также располагает несколькими популярными инструментами JavaScript.

Ого! Разве не здорово? Вы получаете целую кучу полезных инструментов уже готовых к применению. Все, что вам нужно сделать, это просто вставить правильный HTML-код в нужное место.

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

Приступим

Для начала вам придется скачать файл bootstrap.zip с официальной страницы Twitter Bootstrap на github. В нем содержится набор файлов с расширениями css, js и img, которые понадобятся нам, чтобы начать создавать сайт на Twitter Bootstrap. Папка «css» содержит таблицы стилей (для адаптивного и неадаптивного дизайна), а также их упрощенные версии.

Вы будете использовать минимизированные версии для быстрого создания сайта, когда дизайн уже завершен, и проект готов к запуску. Папка «js» содержит файл bootstrap.js и его минимизированную версию.

Эти файлы JavaScript содержат различные JavaScript компоненты, которые мы будем использовать в разработке дизайна нашего сайта. Последняя папка, «img» содержит два набора иконок.

Оба набора практически идентичны, и изображения в них отличаются только цветовой гаммой. Иконки были предоставлены glyphicons, которые любезно отдали их бесплатно в распоряжение проекта Twitter Bootstrap.

Так, давайте приступим к работе. Прежде чем мы начнем, откройте текстовый редактор и создайте первый файл «index.html». Сохраните его в домашней папке вашего проекта.

Основные шаблоны HTML для работы в Bootstrap

Для того чтобы активировать фреймворк Bootstrap, необходимо включить все соответствующие файлы и создать HTML структуру. Но сначала мы создадим структуру, а затем посмотрим, какие файлы нам будут нужны. Первое, что вы должны прописать это, как того требует HTML5, объявление типа документа в самом верху:

<!DOCTYPE html>

Мы устанавливаем кодировку UTF-8, потому что в нашем проекте мы будем использовать специальные символы, и нам нужно, чтобы браузер корректно их распознавал. Twitter Bootstrap тоже рекомендует использовать UTF-8 для лучшей совместимости.

<meta charset=”utf-8”>

После этого устанавливаем обычные теги HTML: <html> , <head> и <body>. Это основные HTML-теги. Ваша страница index.html должна выглядеть так, как показано на рисунке ниже.

Основные шаблоны HTML для работы в Bootstrap

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

<link rel=”stylesheet” href=”css/bootstrap.css”  type=”text/css”/>

Когда стили подключены, мы подключаем необходимые файлы JavaScript. Во-первых, вы должны включить файл JQuery, для этого я предлагаю подключать их из JQuery CDN, как показано ниже.

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>

Затем включаем файл Bootstrap.

<script src=”js/bootstrap.js”></script>

Из соображений производительности вашей веб-страницы, все эти скрипты должны располагаться прямо перед закрывающимся тегом </ BODY>.

Теперь все необходимые файлы включены. Вы можете начать создание различных компонентов вашего сайта. Ваш файл index.html должен выглядеть следующим образом.

Основные шаблоны HTML для работы в Bootstrap - 2

Как это работает

Во-первых, мы должны понимать, что Twitter Bootstrap во многом зависит от 12 сеток. Что это за сетки?

Предположим, вы хотите создать два равных раздела внутри тела вашей страницы index.html. Вы должны задать класс «span6» каждому блоку этих элементов. Это будет означать, что Bootstrap должен создать два равных раздела, по шесть сеток в каждом.

Надеюсь, что это дает вам кое-какое представление о том, работает Bootstrap. Он имеет набор предварительно назначенных классов для каждого элемента. Если это необходимо, вы должны задать соответствующие классы каждому из них.

Составление кодов на Bootstrap

Давайте разобьем демонстрационную страницу на пять основных частей:

  • Заголовок;
  • Маркетинговая область;
  • Левый сайд-бар;
  • Область контента;
  • Подвал.
Составление кодов на Bootstrap

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

Для этого в Bootstrap существует специальный класс, который так и называется "container". Его мы будем использовать в качестве материнской оболочки. Итак, переходим к написанию кодов:

<div class="”container”">

Теперь внутри контейнера DIV, мы пропишем заголовок сайта. Для этого мы используем тег заголовка h1.

<h1><a href="”#”">Bootstrap Site</a></h1>

Проверьте вашу страницу index.html в браузере, красиво ли расположены на ней элементы. Теперь пришло время заняться панелью навигации. Twitter Bootstrap определяет разметку для панели навигации следующим образом:

<div class="navbar">
              <div class="navbar-inner">
                <div class="container">
                  <ul class="nav">
                    <li class="active"><a href="#">Home</a></li>
                    <li><a href="#">Projects</a></li>
                    <li><a href="#">Services</a></li>
                    <li><a href="#">Downloads</a></li>
                    <li><a href="#">About</a></li>
                    <li><a href="#">Contact</a></li>
                  </ul>
                </div>
              </div>
            </div>

«navbar» должен быть классом, заданным в основном блоке DIV панели навигации. Вы должны придерживаться приведенной выше разметки меню навигации, чтобы она соответствовала стилям Twitter Bootstrap.

Разместите этот код немного ниже тега h1. Убедитесь, что все элементы находятся внутри нашего класса родительской оболочки, т.е. "container" Откройте страницу в браузере и проверьте, красиво ли расположено меню навигации.

Составление кодов на Bootstrap - 2

Очевидно, что вы захотите, чтобы ваш заголовок отличался от стандартного. В конце этого урока, мы рассмотрим, как можно добавлять собственные стили к существующим стилям Bootstrap и добавить CSS, чтобы изменить дизайн области заголовка. А теперь переходим к созданию второй части, которую мы назвали «Область маркетинга».

В Twitter Bootstrap есть красивый предварительно назначенный класс специально для области маркетинга. Он называется "hero-unit". Скопируйте приведенный ниже код и вставьте его ниже блока меню навигации.

<div class="hero-unit">
    <h1>Marketing stuff!</h1>
 
    <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
 
    <a href="#" class="btn btn-large btn-success">Get Started</a>
 </div>

Проверьте вашу страницу в браузере, она должна выглядеть так:

Ну, разве не замечательно? Не написав не единого фрагмента CSS, вы получили такой красивый блок области маркетинга. Хорошо, давайте рассмотрим этот код.

В “hero-unit” имеется CSS, который предназначен для тега h1. Так что, то, что вы пишите внутри тегов h1, будет выводиться жирным шрифтом и немного отделяться от других элементов блока. Затем через тег нам нужно создать параграф, в котором будет выводиться наша реклама или описание нашего продукта.

А вот и самое интересное: ссылки и кнопки. Вы можете сделать любую ссылку в виде кнопки, добавив класс “btn”, а затем подогнав ее размер, добавив еще несколько дополнительных классов, таких как btn-large/btn-small/btn-mini.

Для изменения цвета кнопок добавьте классы btn-success (зеленый), btn-info(голубой), btn-warning (желтый) и btn-danger (красный). Более подробную информацию о кнопках и стилизации ссылок вы можете найти в разделе База CSS. Эти классы могут быть применены к элементам кнопок HTML.

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

Теперь переходим к следующим разделам: левой боковой панели и разделу контента. Вы увидите, как я разделил область на две неравные вертикальные части, и как можно сделать еще больше таких сегментов. Как отмечалось ранее, Twitter Bootstrap представляет собой систему из 12 сеток.

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

В данный момент мы работаем внутри нашего родительского класса оболочки "container". Мы разделим его на две неравные части, используя 12 сеток. Для левой боковой панели мы используем класс «span4», а для раздела контента, который расположится правее, мы будем использовать класс «span8».

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

<div class="row">
         <div class="span4">
             <p>Dummy Text</p>
         </div>
         <div class="span8">
             <p>Dummy Text</p>
         </div>
     </div>

Ваша страница теперь должна выглядеть вот так:

На ней должно быть два отдельных столбца, расположенных бок о бок. Теперь стоит подумать над тем, чтобы создать дополнительный блок оболочки, который я добавил выше через класс «row». Причина заключается в том, по умолчанию классы span* выравниваются по левому краю.

Чтобы разместить оба столбца ниже всего содержимого мы добавили блок «row». Он действует как обычный разделитель<tr> в таблицах. Теперь вы должны удалить элементы заглушек абзацев из вашего кода.

После чего заполним левую боковую панель списком пунктов навигации.

Список навигации должен иметь следующую разметку:

<ul class="nav nav-list">
    <li class="nav-header">What we are?</li>
    <li class="active"><a href="#">Home</a></li>
    <li><a href="#">Our Clients</a></li>
    <li><a href="#">Our Services</a></li>
    <li><a href="#">About Us</a></li>
    <li><a href="#">Contact Us</a></li>
    <li class="nav-header">Our Friend</li>
    <li><a href="#">Google</a></li>
    <li><a href="#">Yahoo!</a></li>
    <li><a href="#">Bing</a></li>
    <li><a href="#">Microsoft</a></li>
    <li><a href="#">Gadgetic World</a></li>
</ul>

В дополнение к классу «nav», вы должны добавить класс «nav-list», с помощью которого пункты меню навигации будут выводиться списком. Если добавить класс «nav-header» к любому элементу «li» класса «nav», он будет выглядеть, как заголовок раздела ссылок. Двигаемся дальше, посмотрим, как теперь наша страница выглядит в браузере.

Переходим к области контента, мы будем просто заполнять ее, используя общие теги h3, и теги абзацев. Установка дополнительных классов здесь не потребуется. Ведь мы хотим, чтобы абзацы текста выводились один под другим. Ниже приведен код, который я разместил внутри «span8».

<h3>How we started ?</h3>
 
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
 
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
 
<h3>How do we market?</h3>
 
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
 
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>

Обновите страницу в браузере, после чего она должна выглядеть вот так:

Как видите, мы уже очень близки к конечной точке. Нам осталось только завершить подвал страницы.
Для футера мы снова разделим «row» на три части. Как это показано в демо-версии. На этот раз мы делим область на три равные части, то есть используем «span4».

Так мы создадим еще один блок «row», прямо под «row», который мы создавали ранее для сайдбара и области контента.

Запишите себе следующий код:

<div class="row">
<div class="span4">
        <h4 class="muted text-center">Meet Our Clients</h4>
        <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
        <a href="#" class="btn"><i class="icon-user"></i> Our Clients</a>
    </div>
    <div class="span4">
        <h4 class="muted text-center">Know Our Employees</h4>
        <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
        <a href="#" class="btn btn-success"><i class="icon-star icon-white"></i> Our Employees</a>
    </div>
    <div class="span4">
        <h4 class="muted text-center">Reach Us</h4>
        <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
        <a href="#" class="btn btn-info">Contact Us</a>
    </div>
</div>

Достаточно просто! Мы разделили строку на три равные части с помощью класса «span4», а затем заполнили каждый из сегментов, используя теги h4, теги абзацев и ссылки, которые выглядят как кнопки. Проверьте, что у нас получилось, в браузере.

У вас должны быть маленькие изображения клиентов и сотрудников внутри кнопок. Воспользуйтесь тегом <i>, чтобы добавить соответствующие классы изображений, такие как icon-user, icon-star, icon-glass и т.д.

Чтобы иконки стали белыми, используйте класс icon-white с классами icon-user и icon-star. Полный список классов иконок вы можете найти в документации Bootstrap, которая находится здесь.

Чтобы немного отделить подвал страницы от области контента, мы добавим тег <hr> между блоками «row». После того, как мы добавили тег <hr>, посмотрим, что у нас получилось.

Далее, чтобы создать область копирайта, мы добавляем следующий код:

<hr>
<div class="footer">
<p>&copy; 2013</p>
</div>

Вот, теперь мы полностью создали простую, но вполне презентабельную целевую страницу. И при этом мы пользовались исключительно инструментами фреймворка Twitter Bootstrap.

Добавляем собственные стили в Twitter Bootstrap

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

Если же стилей Twitter Bootstrap по умолчанию вам вполне достаточно, то, очевидно, необходимости создавать таблицу стилей нет. Но, так как многие веб-сайты используют ту же основу, то эти стили станут общими, и их можно будет увидеть на многих других сайтах, созданных на Bootstrap. Поэтому лучше будет, если вы добавите собственные стили поверх CSS Twitter Bootstrap.

@import url("bootstrap.min.css");

Еще несколько важных компонентов Twitter Bootstrap

Выделенные пункты

Чтобы выделить некоторые фрагменты в теле длинного документа, можно добавить к ним класс «lead». Это сделает шрифты этого конкретного пункта немного больше, чем в остальной части документа.

Теги выделения

Вы также можете использовать на вашей странице базовые теги выделения HTML: такие как , <strong> и <em>. Также можно использовать теги <b> и <i>.

Выравнивание текста

Выравнивание текста внутри любого абзаца или блока div можно задать с помощью классов: «text-left», «text-center» и «text-right».

Цвет текста

Вы можете установить для текста абзацев цвета по умолчанию, для этого используются различные классы выделения цветом, такие как «muted» - серый, «text-warning» - красный, «text-error» - темно-бордовый, «text-info» - светло-голубой и «text-success» - зеленый цвет.

Стили таблиц

Twitter Bootstrap также по умолчанию поддерживает разметку таблиц. Для этого используется следующий код:

<table class="table">
    <tr>
        <td></td>
        <td></td>
</tr>
…..
</table>

Работа с изображениями

Вы можете добавлять изображения, используя обычный тег <img src="demo.jpg"/>. Чтобы ваши проекты выглядели интереснее, вы можете добавить классы «img-rounded» для картинок с заокругленными углами, «img-circle» для прокрутки изображений и «img-polaroid», чтобы создать тень и рамку по периметру изображения.

Выпадающие меню

Чтобы добавить выпадающее меню в существующую панель навигации (как это показано на демонстрационной странице), вам нужно добавить следующую разметку внутри элемента «li».

<li class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
        <i class="icon-th-large"></i> Drop Down
        <b class="caret"></b>
    </a>
    <ul class="dropdown-menu">
        <li><a href="#">Item1</a></li>
        <li><a href="#">Item2</a></li>
        <li><a href="#">Item3</a></li>
    </ul>
</li>

Чтобы создать выпадающий список вы должны запаковать родительский элемент с помощью класса «dropdown», а затем использовать для вставки разметку «а». После чего поместить пункт списка в данный элемент.

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

Изучив его, вы обязательно найдете для себя множество новых возможностей для применения.

В следующей статье я расскажу вам о создании адаптивных сайтов с использованием Twitter Bootstrap.

РедакцияПеревод статьи «Twitter Bootstrap Tutorial – Handling Complex Designs»