Версии bootstrap. Загрузка компилированных файлов
Здравствуйте! В этой статье я расскажу как установить и подключить фреймворк Bootstrap. О том что такое Bootstrap можно посчиать .
Стандартная установка фреймворкаО стандартной установке я уже достаточно много сказал в прошлых статьях. Тут все просто. Заходим на официальный сайт getbootstrap.com , кликаем по пункту Getting Started и выбираем самый первый вариант. Таким образом, мы скачиваем полную версию бутстрапа со всеми js и css-компонентами.
Bootstrap CDN – это возможность подключить фреймворк из CDN-хранилища, не скачивая его файлы к себе на компьютер. Естественно, в таком случае ни о какой кастомизации не может быть речи.
Кастомизация фреймворкаНо дело в том, что в бутстарп по умолчанию содержит много компонентов, и некоторые из них просто могут не пригодиться вам при разработке конкретного сайта. Например, вы верстаете интернет-магазин. Возможно, вам не нужны модальные окна и всплывающие подсказки, а также не нужны многие из компонентов css. В таком случае разумно будет не включать эти компоненты в фреймворк.
Или вы верстаете простой блог. Допустим, там вам вообще практически ничего не нужно, так что вы можете оставить только сетку и пару самых важных компонентов.
Выбирать только то, что нужно – это профессиональный подход к созданию сайтов и использованию Bootstrap. По умолчанию несжатая версия css-стилей фреймворка в самой последней версии весит 143 килобайта. А скрипты – более 60 килобайт. Да, если сжать код, то можно добиться уменьшения веса на 20-40%, но все равно файлы будут не самыми легкими.
Если же вы, например, отключаете все компоненты и оставляете только сетку (так очень часто делают), то вес css будет составлять всего 15-20 килобайт, а в сжатом виде еще на пару килобайт меньше. Так вы добьетесь максимальной скорости и оптимизации вашего проекта.
Хорошо, это была лишь теория. Для кастомизации фреймворка посетите все тот же официальный сайт и перейдите в пункт Customize .
Выбираем нужные компонентыПервым делом тут можно настроить, какие компоненты вы хотите включить в свою версию Bootstrap . Начнем с CSS:
Print Media Styles – медиа-запросы для печати. Если вы не планируете печатать страницы сайта, можно отключить.
Типография, код, таблицы, формы и кнопки – это все то, что вы при большом желании можете стилизовать в css самостоятельно. Конечно, на это понадобится время, но если по дизайну ваши элементы сильно отличаются от того, что по умолчанию предлагает фреймворк, можно отключить все эти css-стили и написать их самому.
Grid System – собственно, это сетка. Не вижу смысла ее вообще когда-либо отключать, потому что это основная мощь фреймворка. Именно благодаря сетке вы сможете легко адаптировать шаблоны под любые устройства, а сегодня в век мобильного трафика это чрезвычайно важно. Ни в коем случае не отключаем.
Responsive utilities – адаптивные утилиты, также рекомендую никогда не отключать их. Об адаптивных утилитах мы с вами поговорим в следующей статье, где как раз подробно рассмотрим систему сетки. Это такие классы, которые позволяют на определенной ширине экрана скрывать элемент или делать его видимым. Очень удобно и полезно.
Это, например, такие вещи как группы списков, панели кнопок, значки, панели, оповещения, пагинация, хлебные крошки и т.д. Также можно отключить иконочный шрифт. Это стоит делать в том случае, когда вам вообще не нужно иконки на сайте, либо вы подключаете другой набор. Собственно, вы должны посидеть и подумать, что вам нужно из всех представленных компонентов, а что нет. Для каждого отдельного сайта будет свой набор, потому что везде разный дизайн и функционал.
Javascript-компонентыЭто выпадающие меню, всплывающие подсказки, модальные окна, слайдер. Если что-то из этого вам не нужно, отключаем. В некоторых случаях действительно могут пригодиться все компоненты, когда у вас на сайте и меню выпадающее, и слайдер на главной странице, и модальные окна. В некоторых же случаях может пригодиться от силы 1-2 компонента, тогда ни к чему удлинять код, отключайте ненужные компоненты.
Jquery плагиныЗдесь вы можете отключить плагины библиотеки jquery, которые помогают javascript-компонентам правильно работать. Соответственно, если вы не используете на своем сайте слайдер, то вам не нужен плагин для создания каруселей, если вам не нужны всплывающие подсказки, то отключаем tooltips.js и т.д.
Плагин scrollspy следит за позицией текста и в зависимости от этого подсвечивает тот или иной пункт меню. Обычно такая фишка нужна на лендингах, на обычных сайтах я практически не видел. Ну и так далее. Хорошенько проанализируйте, что вам нужно, а что нет.
Переменные Less (Less variables)Далее перед вами откроется огромный пункт, в котором будет масса подпунктов с настройками переменных Less. Здесь можно изменит практически все: цвета, размеры шрифтов, точки брекпоинтов, кол-во колонок в сетке, отступы и т.д.
Конечно, для этого вы должны знать хотя бы основы Less или хотя бы на интуитивном уровне ориентироваться в этих формах.
Например, если вы видите переменную @font-family-base, то нужно хотя бы на интуитивном уровне понимать, что она отвечает за название шрифта, который является базовым на сайте. Ну а переменная @font-size-base устанавливает базовый размер шрифта. По умолчанию в бутстрапе он равен 14 пикселям.
Все эти поля вы можете редактировать. Всего лишь поменяйте 14 на 20 и вот уже вы сможете скачать фреймворк, в котором по умолчанию размер шрифта – 20 пикселей. Соответственно, тут же можно настроить размеры заголовков и т.д.
Настройка сеткиОчень интересны для для нас также настройки сеточной системы, вот они:
Как видите, вы можете за несколько секунд поменять кол-во колонок и ширину отступов между ними. Переменная grid-float-breakpoint устанавливает точку, на которой мобильное меню сворачивается в иконку.
Если вы поменяете значение, например, на @screen-md-min, то уже на ширине 991 пиксель и менее будет происходить сворачивание. Также можно удалить эту переменную и написать значение в пикселях. Например, 520 пикселей. Тогда сворачивание меню будет происходить только на смартфонах и мобильных телефонах.
Собственно, страница кастомизации Bootstrap имеет очень много настроек, но в целом такой способ кастомизации (с помощью страницы Customize на официальном сайте) не самый быстрый и удобный. Далее я покажу вам самый быстрый способ.
Используйте страницу Customize, когда вам нужно внести 2-10 правок в фреймворк, либо просто отключить нужные компоненты. Если вы собираетесь менять гораздо больше значений, нужно использовать другой метод.
Собственно, когда вы настроите свою версию фреймворка, нажимайте на большую кнопку в самом низу страницы. Она скомпилирует версию Bootstrap-а под вас и скачает его на ваш компьютер. Далее вам остается только подключить и использовать. О подключении я уже рассказывал в прошлых статьях (в том числе о том, как сделать это на WordPress).
Скачивание Less-исходников и их правкаКак я уже говорил, если вам нужно делать много правок в исходный код фреймворка и вы хотите видеть изменения моментально, то вам понадобятся less-исходники. Скачать их можно там же, где и сполную версию фреймворка – в разделе Getting Started.
Чтобы работать с Less-исходниками и редактировать их вам нужны:
Хоть какие-то знания css и less или другого препроцессора
Less компилятор (можно скачать бесплатно)
Собственно, подробно я не буду останавливаться на кастомизации через less-исходники, но это самый лучший метод, потому что вам не нужно будет 100 раз заходить на страницу Customize и компилировать все новые и новые версии фреймворка.
Темизация Bootstrap или изменение внешнего вида элементовПо умолчанию в полной версии фреймворка в папке css также можно встретить файл bootstrap-theme.css . Подключать его к сайту необязательно. Какие же функции он выполняет? Файл нужен исключительно для того, чтобы при необходимости изменить стили для нужных вам элементов.
Эту же роль может выполнить ваш собственный style.css, в котором вы также можете переопределить стили. Bootstrap-theme не является обязательным файлом, его используют скорее для порядка. Например, у вас есть 3 файла:
bootstrap.css – понятно, это код самого фреймворка;
bootstrap-theme.css – тут вы переопределяете стили для элементов бутстрапа;
style.css – а в этом файле пишите стили для своих элементов.
Тогда у вас будет порядок в коде и в структуре проекта. Но никто не запрещает вам все операции производить в единственном файле – style.css и вообще не использовать файл темы.
Самое главное, подключать в html-разметке файл с темой и свой собственный css позже, чем файл с кодом фреймворка, чтобы стили успешно переопределялись.
Пример работы темизацииКак я уже и говорил, по умолчанию Bootstrap ложит в комплект файл bootstrap-theme . Попробуйте его подключить. Отмечу, подключить после основного файла.
По умолчанию кнопки в бутстрапе выглядят так:
А вот так меняется их внешний вид после подключения файла с темой:
Как видите, появляется небольшой градиент. Соответственно, вы можете переписывать код в файле bootstrap-theme и получать свои стили для кнопок. Но вы можете спросить, почему бы не производить эти изменения прямо в bootstrap.css? Ну дело в том, что постоянно выходят новые версии фреймворка и если вы решите обновиться, ваши правки трудно будет внедрить в новую версию. Хорошим тоном для разработчика считается не трогать исходный код, когда можно создать отдельный файл и описать изменения там. Это гораздо разумнее и удобней.
Как установить новые темы Bootstrap, скачанные из интернета?Есть достаточно много сайтов, в основном зарубежных, на которых бесплатно можно скачать кучу тем и шаблонов. Чтобы не было путаницы, давайте считать шаблоном сайт, сверстанный с помощью Bootstrap, а темой – набор css-правил, переопределяющих стандартный вид элементов.
Такие темы можно скачать, например, на bootswatch.com/ , а используя поисковик вы можете найти десятки других.
Общий принцип установки таких тем зависит от самого сайта, на котором вы их скачиваете. Если можно скачать в формате bootstrap-theme – отлично, скачиваем и подключаем. На bootswatch, например, нужно скачать bootstrap.css и заменить им ваш стандартный файл стилей фреймворка. Также есть вариант с less-исходниками.
Преимущество использования CSS фреймворков заключается в том, что верстальщику не нужно думать о многих нюансах верстки, которые за него уже продумали создатели фреймворков. К таким нюансам относятся кроссбраузерность, поддержка различных разрешений экранов и многое другое. Верстальщик лишь указывает, что, как и когда нужно показать, остальное фреймворк делает сам. Данный подход может сильно ускорить вёрстку сайта. К преимуществам Bootstrap относится и его популярность. Это означает, что другому верстальщику будет проще поддерживать ваш код.
Недостатком использования фреймворков является тот факт, что странице придется целиком «нести» за собой лишние стили фреймворка, даже если она использует лишь их малую часть. Фреймворк является отличным инструментом для прототипирования и создания страниц, для которых дизайн вторичен, например страницы администрирования. Если же у вас есть очень специфический дизайн, то сверстать его с помощью фреймворка может оказаться сложнее, чем нативными средствами. Тем не менее, и это возможно.
Об использовании Bootstrap В настоящее время есть несколько способов работы со стилями Bootstrap.Без использования LESS Для новичков сам Bootstrap рекомендует следующий подход: нужно скачать с сайта скомпилированный Bootstrap и положить его в свой проект, ничего не изменяя. Затем нужно создать свой пустой CSS файл и подключить его после bootstrap.css.
После этого, для того чтобы изменить стили Bootstrap вам нужно перебить их в своем styles.css примерно в таком виде:
A { color: #beceda; }
Очевидным минусом данного подхода является то, что вам придется вручную искать нужные стили, которые требуется перебить и не всегда это будет тривиально, т.к. некоторые параметры Bootstrap применяются ко многим селекторам в изменённом виде, например через формулы. Небольшую помощь здесь может оказать инструмент Customize , он поможет скомпилировать правильно ваши изменения, но только один раз. Если в будущем вы захотите изменить какой-то параметр, то придется заново вбивать изменненные значения для всех полей, чтобы скомпилировать свои стили.
Существует большое количество способов скомпилировать LESS файлы и Bootstrap оставляет это на усмотрение разработчика. Сам Bootstrap использует для компиляции Grunt , вы можете предпочесть плагин для продуктов JetBrains, а мы, поскольку статья ориентирована на новичков, посмотрим в сторону более простых решений. Такими решениями являются программы WinLess для Windows, SimpLESS для Mac или Koala для Linux. Все эти программы делают примерно одно и то же: получают на вход папку с LESS файлами и слушают изменения в них. Как только вы вносите изменения в любой файл – тут же он компилируется в указанный CSS файл. Таким образом вам нет необходимости запускать компиляцию руками после каждого изменения. Вы изменяете LESS файл, сохраняете его и тут же видите изменения на сайте в уже скомпилированном, сжатом виде.
Создание проекта Первым шагом давайте создадим простую структуру файлов для нашего проекта.Предварительный осмотр После создания структуры файлов открываем psd файл в Photoshop. Важно внимательно осмотреть шаблон и оценить его. Нам нужно понять следующие вещи:
- Как будут нарезаться изображения?
- Какие будут использоваться компоненты?
- Какими будут основные стили?
- Какой макет страницы у нас получится?
Сохраняем изображение карты:
Сохраним логотипы следующим образом:
Images/logo.png
images/footer-logo.png
Повторяющиеся фоновые изображения необходимо вырезать минимальным кусочком достаточным для образования полного изображения повторением по вертикали и горизонтали.
/images/bg.png
/images/h1-bg.png
Иконки социальных сетей с одинаковыми размерами удобно сохранить в один файл и использовать как спрайты для более быстрой загрузки. Более подробно про склейку изображений описано в первой части. В итоге получится два файла:
/images/social.png
/images/social-small.png
Если окинуть взглядом наш шаблон, то можно увидеть, что нам понадобятся следующие компоненты:
В первую очередь нужно добавить переменные, которых нет в настройках Bootstrap для того, чтобы можно было их использовать в дальнейшем. У нас это только специфический шрифт дизайна.
@brand-font: "Oswald",sans-serif;
Если вы хотите использовать шаблон для русских сайтов, то шрифт Oswald можно попробовать заменить на наиболее близкий Cuprum, который поддерживает кириллицу.
А теперь заменим настройки Bootstrap на свои:
После того, как мы закончили с переменными, давайте начнем прописывать стили нашего дизайна в файле styles.less. Сначала подключим сам Bootstrap и наши переменные:
@import "bootstrap/bootstrap.less";
@import "variables.less";
Не все стили, заданные Bootstrap по умолчанию можно изменить переменными, давайте сделаем это вручную:
P {
margin: 20px 0;
}
.form-control {
box-shadow: none;
}
.btn {
font-family: @brand-font;
}
Здесь мы убрали тень у элементов формы, а текстам в кнопках указали специфический шрифт страницы.
Затем опишем фон страницы и верхнюю полоску:
Body {
border-top: 5px solid #7e7e7e;
background-image: url(../images/bg.png);
}
Далее в тексте не будет указываться в какой файл пишутся стили. Просто запомните, что все переменные мы сохраняем в файл variables.less, а CSS стили будем хранить в styles.less.
Whitesquare
В этом блоке создается HTML5 структура документа. В title указываем название нашей страницы – Whitesquare. Метатегом viewport указываем, что ширина страницы на мобильных устройствах будет равна ширине экрана и начальный масштаб будет 100%. Затем подключается файл стилей. И для версий Internet Explorer меньше девятой подключаем скрипты, позволяющие правильно отображать нашу верстку.
Давайте добавим в body следующий код:
Здесь нам встречается первый компонент Bootstrap – колонки . Родительскому элементу колонок задается класс «row», а классы колонок начинаются с префикса «col-», затем идет размер экрана (xs, sm, md, lg), а заканчиваются относительной шириной колонки.
Колонке можно задавать одновременно различные классы со значениями для экранов, например class=«col-xs-12 col-md-8». Эти классы просто задают ширину колонке в процентах для определенного размера экрана. Если колонке не задан класс определенного экрана, то применится класс для минимально определенного экрана, а если и он не указан – то никакая ширина не применится и блок займет максимально возможную ширину.
У нас классы «col-md-7» и «col-md-17» указывают, что блоки представляют из себя колонки шириной 7 и 17 относительно родительского контейнера. По умолчанию сумма ширин колонок в Bootstrap равняется 12, однако мы увеличили это число вдвое для достижения нужной нам гибкости.
Body {
…
.wrapper {
padding: 0 0 50px 0;
}
header {
padding: 20px 0;
}
}
Данную конструкцию мы поместили внутрь body. Синтаксис LESS позволяет вкладывать правила друг в друга, которые потом скомпилируются в такие конструкции:
Body .wrapper {…}
body header {…}
Такой подход позволяет видеть структуру HTML прямо внутри CSS и дает некую «область видимости» правилам.
Вставляем логотип в тег header:
Дополнительных стилей не требуется.
ПоискДля того чтобы создать поиск, нам понадобятся следующие компоненты Bootstrap: инлайновая форма , сгруппированные контролы и кнопка .
В теге header создаем инлайновую форму, выровненную по правому краю. Поля такой формы обязательно должны иметь класс «form-control» и label.
В форму мы помещаем компонент «сгруппированные контролы». Группировка контролов позволяет убрать отступ между вводом текста и кнопкой и как бы слить их в единый элемент.
Он представляет из себя div с классом «input-group» и полями, а кнопка такого компонента помещается в блок с классом «input-group-btn».
Поскольку нам не нужно показывать label для поля поиска - скроем его классом «sr-only». Это нужно для специальных устройств чтения с экрана.
Кнопке добавляется класс «btn-primary», означающий, что это первичная кнопка данной формы.
…
Search
GO
Всё, что нам осталось - это задать в стилях ширину форме поиска.
Body { … .wrapper { … header { … .form-search { width: 200px; } } } }
МенюДля отображения меню возьмем компонент «навигационная панель » и поместим в него компонент «навигация », которая представляет из себя список со ссылками. Для навигации добавляется класс «navbar-nav», который применяет специальные стили навигации внутри навигационной панели.
Для того, чтобы привести это меню к нашему дизайну зададим следующие значения переменным:
/*высота навигационного меню*/
@navbar-height: 37px;
/*задаем побольше горизонтальный отступ*/
@nav-link-padding: 10px 30px;
/*фон для пунктов меню*/
@navbar-default-bg: @panel-bg;
/*цвет текста в пунктах меню*/
@navbar-default-link-color: #b2b2b2;
/*и при наведении мышки – такой же*/
@navbar-default-link-hover-color: @navbar-default-link-color;
/*фон активного пункта меню – наш специфический голубой цвет*/
@navbar-default-link-active-bg: @brand-primary;
/*цвет текста активного пункта меню*/
@navbar-default-link-active-color: #fff;
Помимо настраиваемых параметров, опишем дополнительные в стилях – это текст в верхнем регистре и наш специфический шрифт:
Body { … .wrapper { … .navbar a { text-transform: uppercase; font: 14px @brand-font; } } }
Заголовок страницыЗаголовок страницы помещается в div с классом «heading».
About us
И имеет следующие стили:
Body {
…
.wrapper {
…
.heading {
height: 40px;
background: transparent url(../images/h1-bg.png);
margin: 30px 0;
padding-left: 20px;
h1 {
display: inline-block;
color: #7e7e7e;
font: normal 40px/40px "Oswald", sans-serif;
background: url(../images/bg.png);
margin: 0;
padding: 0 10px;
text-transform: uppercase;
}
}
}
}
Здесь мы рисуем серую полоску фоном на div’e, и в нее вкладываем инлайновый h1 с нужным шрифтом и фоном цвета страницы, чтобы создалось впечатление прозрачного фона для h1.
При создании подменю, мы не будем использовать компонент «навигация», так как по стилям он нам не очень подходит, гораздо больше нам подойдет компонент «группированный список ». Каждый элемент такого компонента имеет класс «list-group-item».
Подменю нужно разместить в теге aside. Список ссылок создаем аналогично главному меню.
В настройках компонента укажем, что все группированные списки нужно показывать с фоном и рамкой компонента «панель»:
@list-group-bg: @panel-bg;
@list-group-border: @panel-inner-border;
И применяем к подменю следующие стили:
Body {
…
.wrapper {
…
.submenu {
margin-bottom: 30px;
li {
display: list-item;
font: 300 14px @brand-font;
list-style-position: inside;
list-style-type: square;
padding: 10px;
text-transform: uppercase;
&.active {
color: @brand-primary;
}
a {
color: @text-color;
text-decoration: none;
&:hover {
color: @text-color;
}
}
}
}
}
}
Сначала возвращаем элементам списка стандартные стили, так как Bootstrap их перебил на свои. Добавляем отступ снизу. Для подменю применяется более тонкий шрифт и квадратные маркеры. А для ссылок задаем цвета, верхний регистр и убираем подчеркивание. Амперсанд в коде «&.active» по синтаксису LESS во время компиляции заменится на родительский селектор: «.submenu li.active».
Для его отображения нам подойдет компонент «панель », а точнее его вариация «основная панель» (panel-primary) для раскраски заголовка. Этот компонент содержит блок заголовка (panel-heading) и блок содержания панели (panel-body). Изображению карты добавляем класс «img-responsive», который позволит картинке уменьшаться при маленькой ширине экрана.
…
Our offices
В переменных Bootstrap мы уже задали цвет для фона панели (panel-bg), а теперь укажем, что «primary» панель будет иметь серую рамку дефолтной панели, а не голубую, как задано по умолчанию:
@panel-primary-border: @panel-inner-border;
Теперь в стилях сайта нужно изменить стандартные настройки панелей, которые не изменяются через переменные:
Panel {
box-shadow: none;
.panel-heading {
font: 14px @brand-font;
text-transform: uppercase;
padding: 10px;
}
.panel-body {
padding: 10px;
}
}
Здесь мы убрали тень у панелей, поставили свои отступы и задали свой шрифт заголовка.
Этот элемент страницы больше всего похож на компонент Jumbotron . Добавим его в колонку контента:
“Quisque in enim velit, at dignissim est. nulla ul corper, dolor ac pellentesque placerat, justo tellus gravida erat, vel porttitor libero erat.”
John Doe, Lorem IpsumЧерез переменные для компонента jumbotron зададим белый цвет текста и брэндовый голубой фон:
@jumbotron-bg: @brand-primary;
@jumbotron-color: #fff;
И опишем наши стили:
Body {
…
.wrapper {
…
.jumbotron {
border-radius: 0;
padding: 0;
margin: 0;
blockquote {
border-left: none;
p {
font: 300 italic 33px @brand-font;
text-transform: uppercase;
margin-bottom: 0;
}
small {
text-align: right;
color: #1D8EA6;
font: 300 20px @brand-font;
&:before {
content: "";
}
}
}
}
}
}
В них мы убираем скругление углов, отступы компонента и декорации цитаты, заданные Bootstrap по умолчанию. Также добавим стили наших шрифтов.
Lorem ipsum dolor sit amet…
Donec vel nisl nibh…
Donec vel nisl nibh…
Следующим шагом нужно добавить два изображения, которые находятся в конце текста контента. Делается это с помощью двух колонок:
Класс «thumbnail» превращает изображения в компонент «миниатюра ». Он сделает за нас всю работу по стилизации изображений. Единственное, что нам осталось - это установить свой отступ и цвет рамки в переменных для этого компонента:
@thumbnail-padding: 1px; @thumbnail-border: #c9c9c9;
Блок «Our team»При верстке этого блока добавим сначала заголовок:
Our team
со стилем:
Body {
…
.wrapper {
…
h2 {
background: none repeat scroll 0 0 #29C5E6;
color: #fff;
font: 300 30px @brand-font;
padding: 0 10px;
text-transform: uppercase;
}
}
}
А затем добавим блок с классом «team», который состоит из двух строк, содержащих карточки сотрудников. Каждая карточка – это колонка. Карточка имеет ширину равную четырем колонкам нашей сетки. Все карточки кроме первой в строке имеют отступ слева, который создается классом «col-md-offset-1». Содержимое карточки состоит из изображения и описания (.caption)
John Doe Saundra Pittsley
team leader
… Ericka Nobrigaart director
Cody Roussellesenior ui designer
…После создания разметки зададим этим элементам следующие стили:
Body {
…
.wrapper {
…
.team {
.row {
margin-top: 20px;
.col {
white-space: nowrap;
.thumbnail {
margin-bottom: 5px;
}
}
.col-md-offset-1 {
margin-left: 3.7%;
}
.caption {
h3 {
font: 300 16px @brand-font;
margin: 0;
}
p {
font: 300 14px @brand-font;
color: @brand-primary;
margin: 0;
}
}
}
}
}
}
Помимо отступов и стилей шрифтов, которые тут задаются, мы изменили класс «col-md-offset-1». Ему пришлось задать отступ 3.7%, т.к. стандартный отступ был слишком большой.
Для начала создадим контейнер футера с этим блоками:
И применим к нему оформление:
Footer {
background: #7e7e7e;
color: #dbdbdb;
font-size: 11px;
.container {
height: 110px;
padding: 10px 0;
}
}
Тег footer задает серую область по всей ширине экрана, а контейнер внутри него отображает область по центру на больших экранах и задает высоту и отступ футера. Для выравнивания блоков внутри футера мы используем колонки.
Twitter feed 23 oct
In ultricies pellentesque massa a porta. Aliquam ipsum enim, hendrerit ut porta nec, ullamcorper et nulla. In eget mi dui, sit amet scelerisque nunc. Aenean aug
Стили:
Body {
…
footer {
…
.container {
…
h3 {
border-bottom: 1px solid #919191;
color: #ffffff;
font-size: 14px;
line-height: 21px;
font-family: @brand-font;
margin: 0 0 10px;
text-transform: uppercase;
}
p {
margin: 5px 0;
}
.twitter {
p {
padding-right: 15px;
}
time a {
color: #b4aeae;
text-decoration: underline;
}
}
}
}
}
Для всех заголовков футера задаем шрифты и отступы, а также делаем подчеркивание через нижнюю рамку. Для параграфов указываем отступ. Ссылке, отображающую дату, задаем цвет и подчеркивание.
Sitemap
Home
About
Services
Partners
Support
Contact
Ссылкам задаем цвет, шрифт и отступ между ними.
Body { … footer { … .container { … a { color: #dbdbdb; } .sitemap a { display: block; font-size: 12px; margin-bottom: 5px; } } } }
Социальные ссылкиВставляем набор ссылок в блок с классом «social».
Social networks
И стилизуем их:
Body {
…
footer {
…
.container {
…
.social {
.social-icon {
width: 30px;
height: 30px;
background: url(../images/social.png) no-repeat;
display: inline-block;
margin-right: 10px;
}
.social-icon-small {
width: 16px;
height: 16px;
background: url(../images/social-small.png) no-repeat;
display: inline-block;
margin: 5px 6px 0 0;
}
.twitter { background-position: 0 0; }
.facebook { background-position: -30px 0; }
.google-plus { background-position: -60px 0; }
.vimeo { background-position: 0 0; }
.youtube { background-position: -16px 0; }
.flickr { background-position: -32px 0; }
.instagram { background-position: -48px 0; }
.rss { background-position: -64px 0; }
}
}
}
}
Здесь мы применили технику спрайтов – когда один файл с изображением применяется для разных картинок. Все ссылки разделились на большие иконки (.social-icon) и маленькие (.social-icon-small). Мы задали этим классам отображение в виде инлайнового блока с фиксированными размерами и одинаковым фоном. А затем с помощью CSS сдвинули этот фон так, чтобы на каждой ссылке отобразилось соответствующее изображение.
Copyright 2012 Whitesquare. A pcklab creation
Стили делают аналогично предыдущим блокам с той лишь разницей, что блок прибивается к правому краю и выравнивание внутри него так же по правому краю:
Body { … .footer { … .container { … .footer-logo { float: right; margin-top: 20px; font-size: 10px; text-align: right; a { text-decoration: underline; } } } } }
На этом вёрстка закончена. Готовый проект можно скачать
Здравствуйте, дорогие читатели блога проекта сайт . В данной статье разберем, что такое Bootstrap, для чего он нужен и чем он может помочь в разработке сайтов.
Bootstrap - это CSS фреймворк, который изначально создавался для внутреннего использования компанией «Twitter » с рабочим названием «Twitter Blueprint », но в итоге был опубликован в открытый доступ и стал хорошим набором инструментов для front-end разработки под названием «Bootstrap ». Официальный сайт фреймворка находится по адресу getbootstrap.com .
Преимущества фреймворка Bootstrap:
- Высокая скорость разработки макетов страниц сайта. Bootstrap содержит огромный набор готовых решений и элементов.
- Кроссбраузерность и адаптивность сайта. Все элементы фреймворка адаптивны под все устройства и корректно отображаются во всех современных браузерах.
- Легкость в использовании. Даже человек, имеющий базовые знания о HTML и CSS, может свободно создавать web-страницы с использованием фреймворка.
- Простота в обучении. У Bootstrap очень хорошая документация с большим количеством примеров готового кода.
О качестве фреймворка говорит то, что множество тем оформления для подавляющего большинства популярных CMS, таких как WordPress, Joomla и т.д., разработаны с применением Bootstrap.
Хотя Bootstrap и называют CSS фреймворком, но это не совсем верно. На мой взгляд, правильней его называть WEB фреймворком, так как он содержит готовые CSS, HTML и JavaScript компоненты, а третья версия имеет собственный иконочный шрифт.
Шрифт содержит более 250 иконок. Количество иконок, конечно, не такое большое, как у Font Awesome, но все базовые иконки присутствуют. С четвертой версии фреймворк отказался от собственного иконочного шрифта в пользу использования сторонних библиотек, которые необходимы пользователю для конкретного проекта.
При верстке адаптивного классического макета: шапка сайта (header), основная часть (content), боковая колонка (sidebar) и подвал сайта (footer), для корректного отображения нам нужно рассчитать ширину в процентах каждого элемента и присвоить обтекание. Если с шапкой и футером все понятно, в большинстве случаев ширина будет 100%, то для основной части контента и боковой колонки может быть 70/30 или 85/25, но при уменьшении экрана нас это не устроит, нужно будет делать по 100% и сбрасывать обтекание.
Вот для таких целей и нужна сетка Bootstrap . Просто задаются классы для блоков, которые указывают, какую ширину должен занимать элемент и как он будет отображаться на разных устройствах. Сетка функционирует как таблица, в которой есть свои ряды и столбцы, максимальное количество столбцов 12.
Сетку можно делать внутри другой сетки сколько угодно. Если делать все блоки сайта с использованием сетки, то самостоятельно писать медиа запросы для их адаптивности вообще не придется.
Level 1: .col-sm-9 Level 2: .col-xs-8 .col-sm-6 Level 2: .col-xs-4 .col-sm-6
Помимо сетки существует огромное количество всевозможных компонентов: навигационные меню, формы, таблицы, модальные окна, вкладки, оповещения, всплывающие подсказки и т.д.
Еще очень удобно, что платформа Bootstrap позволяет как скачать весь фреймворк целиком, так и только те компоненты, которые нужны.
В следующей статье «Как работать с Bootstrap » разберем все аспекты подробнее. На этом статью буду заканчивать, надеюсь все понятно, и этот пост ответил на вопрос - что такое Bootstrap.
Bootstrap - это специальный фреймворк (т.е. набор инструментов), который включает в себя HTML, CSS и JavaScript решения. Основной идеей этого фреймворка является удобное создание веб-проектов, которые обладают адаптивным свойством. Адаптивность в данном случае означает, что макет веб-документа должен подстраиваться под устройство, которое его отображает - ПК, планшет, смартфон и т.п. Визуальное оформление отдельных элементов макета веб-страницы также включено в фреймворк.
Подключение . Для подключения фреймворка необходимо либо скачать пакет файлов и подключить их в теге , либо подключить их удаленно - там же. Например,
Для отображения контента страницы в фреймворке разработана т.н. система сетки (grid system ), которая позволяет создавать (по умолчанию) до 12 колонок (и соответствующих строк) на странице, причем эта конструкция может зависеть от устройства, на котором просматривается страница.
Например, для устройств среднего размера (medium devices ), возможно определить столбцы следующим образом:
Что будет означать два столбца, в первый из которых имеет условную длину 8, а второй - 4 из 12. В сумме эти значения, очевидно, дают также 12. Фактически ширина столбца задается пропорционально. Другой пример:
.col-md-4
.col-md-4
.col-md-4
Означает, что будет 3 столбца одинаковой ширины. Или же
.col-md-12
Означает 1 столбец растянутый по всей ширине экрана.
Очевидно, что на мобильном устройстве не вместится макет, предназначенный для ПК. Описанные выше макеты на мобильном устройстве будут отображены не в виде столбцов, а один под другим - поскольку им не хватит места по горизонтали. В фреймворке были разработаны специальные классы для работы с мобильными устройствами. Эти классы можно указывать для альтернативного макета в случае мобильного устройства (xs - mobile devices, sm - small devices ). Например,
1
2
Означает, что в макете две ячейки, но пропорция их ширины будет разной при отображении на ПК или на мобильном устройстве: 8 и 4 на ПК в одну строку, или 2 и 10 на мобильном устройстве. В сумме обе пары значений дают 12, потому будут размещены в одной строке.
Создание меню. Для создания меню используют класс nav (в блок этого класса помещают кнопки или ссылки) и класс navbar в который помещают готовую навигацию. Например,
Navbar - адаптивный компонент, который используют в качестве блока с навигацией сайта.
Адаптивность в данном случае состоит в том, что эти компоненты "сворачиваются" при отображении с мобильных устройств, если пункты навигации не вмещаются по горизонтали.
Используя возможности фреймворка Bootstrap, Вы сможете самостоятельно и быстро верстать современный сайт.
Вёрстка сайта - дело не сказать чтобы очень сложное, но довольно муторное. Помимо того, что нужно оснастить сайт требуемым функционалом, нужно ещё чтобы он был красивым! Такую красоту, обычно, делает дизайнер в Фотошопе. А задача верстальщика при этом сделать так же как на картинке. И вот для этого уже приходится попотеть...
Где-то с год назад я работал в команде с одним дизайнером над созданием сайта. И он после просмотра готового макета задал мне вопрос: "А ты что, не используешь сетку?". В Фотошопе он, оказывается, всё рисовал по направляющим, чтобы было ровно, однако в обычном HTML подобных средств выравнивания нет.
И вот тогда я и решился познакомиться с технологией, которая уже не первый год была у многих на устах - Bootstrap .
Зачем нужен BootstrapЧтобы понять, нужен ли Вам Bootstrap, необходимо сначала понять, что это такое и для чего. Кратко отвечая на вопрос, скажу, что Bootstrap - это набор стилей, скриптов (а в 3-й версии ещё и готовых символьных шрифтов), которые можно применять для быстрой вёрстки различных блоков сайта. При этом большинство этих блоков изначально поддерживают адаптивность и прилично выглядят на экранах мобильных устройств без каких-либо дополнительных действий с Вашей стороны.
Чтобы лучше понять, что же может Bootstrap и для чего конкретно его можно применить, предлагаю Вам взглянуть на следующую схему:
Сразу стоит сказать, что, несмотря на довольно хороший функционал, в Bootstrap часто не хватает некоторых популярных средств. Например, в нём нет:
- сетки для вертикального выравнивания блоков (но есть свойства для выравнивания текстовых элементов);
- свойств для адаптивного масштабирования текста (нужно использовать сторонние библиотеки или собственные механизмы);
- средств для вёрстки полноэкранных лэндингов;
- некоторых популярных плагинов (нормального слайдера, вертикальных табов, поэкранной прокрутки и т.п.);
- ряда свойств для позиционирования.
Справедливости ради следует сказать, что недавно вышел Bootstrap 4, который довольно сильно отличается по реализации и функционалу от более распространённой версии Bootstrap 3. Однако, в рамках данной статьи мы рассмотрим именно проверенную временем и стабильную 3-ю версию (последняя на данный момент - 3.3.7).
Установка BootstrapЧтобы начать работу с Bootstrap его нужно правильно подключить в Ваш HTML-документ. Сделать это можно несколькими способами.
Внешнее подключение через Bootstrap CDNКак в своё время было с популярной библиотекой jQuery (кстати, её наличие тоже обязательно), Bootstrap на сегодняшний день тоже обзавёлся собственной системой доставки контента (CDN). Это означает, что Вам можно ничего не качать для его установки - достаточно просто прописать ссылки на нужные Вам компоненты в Вашем HTML-документе.
Минимально необходимым набором компонентов для работы Bootstrap является его таблица стилей и файл скриптов (bootstrap.css и bootstrap.js, соответственно). Стили Бутстрапа нужно подключить в секции перед объявлением своих стилей (style.css), а скрипты можно отправить в "подвал" сайта для ускорения загрузки страницы. Кстати, для этой же цели лучше использовать минифицированные версии файлов, ссылки на которые выглядят так:
Рекомендуется также подключать CSS-файл темы , в котором содержатся уникальные стили оформления Вашей версии Bootstrap (о том, как её сделать речь пойдёт немного ниже). Его следует также поместить перед объявлением Вашей основной таблицы стилей, но после общих стилей Бутстрапа. Ссылка на подключение темы выглядит так:
В итоге Ваш файл index.html с подключённым Bootstrap 3 может выглядеть примерно следующим образом (можете скопировать его и сразу начать работать):
Bootstrap-шаблон
Привет, Мир! Я - заголовок на Bootstrap!
Установка при помощи менеджеров пакетовЕсли Вы дружите с такой полезной вещью как консоль, то, наверняка, Вы хотя бы слышали о том, что существуют специальные менеджеры пакетов, которые позволяют автоматически устанавливать на Ваш сайт различные скрипты и даже целые CMS. Bootstrap сегодня добавлен в большинство репозиториев пакетных менеджеров, поэтому для его установки будет достаточно выполнить всего одну команду:
Bower | $ bower install bootstrap |
npm | $ npm install bootstrap@3 |
Composer | $ composer require twbs/bootstrap |
Для экспериментов с Bootstrap вполне подойдёт первый вариант с внешним подключением. Однако, для реализации практических задач на реальных сайтах лучше, на мой взгляд, свести к минимуму количество внешних библиотек. Поэтому лучше скачать Бутстрап и подключить его локально. А сделать это можно двумя способами.
Способ первый - самый очевидный. Заходим на официальную страницу загрузки и жмём кнопку "Download Bootstrap" :
У Вас скачается архив, который будет содержать три папки (css, fonts и js) с файлами. Распакуйте их в отдельную директорию и создайте в ней же свой index.html, к которому можно будет подключить все стили, скрипты и шрифты. В качестве основы для содержимого HTML-документа можете взять вышеприведённый код с заменой ссылок на компоненты Bootstrap с внешних на локальные:
Кстати, в папках Bootstrap по умолчанию имеется несколько лишних файлов, которые можно убрать для экономии места. Например, в папке css можно удалить все файлы с расширением.map, а также неминифицированные (без приписки.min) файлы темы и стилей (останется только два файла: bootstrap.min.css и bootstrap-theme.min.css). Из папки js удаляем всё, кроме файла bootstrap.min.js. Шрифты (если они нужны) не трогаем. В итоге у Вас должна получиться такая структура файлов:
Данный способ хорош всем кроме того, что в стандартной поставке Bootstrap могут быть включены не все плагины и используется только стандартное оформление в плане стилей. Если же Вы делаете не просто тестовую страничку, а реальный сайт, то Вам, наверняка, потребуется многое изменить в стандартном шаблоне оформления.
Так вот, чтобы потом не копаться в файлах, Вы можете заранее подогнать тему Bootstrap под свои требования. Для этого от Вас потребуется знание английского и понимание хотя бы базовых принципов вёрстки на CSS. Чтобы создать собственную сборку Bootstrap идём на специальную страницу и заполняем многочисленные поля в форме, которая позволяет задать свои стили буквально для любого элемента на Вашем будущем сайте:
Занятие это довольно небыстрое, но значительно быстрее, нежели ручная правка готового кода стилей и скриптов. На мой взгляд, стоит потратить лишние минут 20-40, чтобы впоследствии сэкономить себе пару часов поисков параметров, которые нужно будет изменить.
Когда все правки внесены, жмите кнопку "Compile and Download" в самом низу и Ваша кастомная сборка Бутстрапа скачается в виде архива. Кстати, помимо уже знакомых нам папок, данная версия архива будет содержать ещё и файл config.json . Он содержит в себе список всех переменных, которые мы правим на странице настроек. Поэтому в будущем Вы можете загрузить этот файл и сразу скачать настроенный Bootstrap без необходимости вводить все параметры вручную!
Как работать с документациейИтак, на данный момент мы уже имеем готовый HTML-документ с подключённым к нему Bootstrap. Но мы пока не знаем, как с этим Бутстрапом работать... Чтобы это узнать, нужно ознакомиться с весьма обширной документацией на официальном сайте или его русскоязычной версии (есть и ещё один неплохой русскоязычный перевод).
На мой взгляд, лучше всё же пользоваться оригинальной документацией, поскольку она новее и не содержит никаких двусмысленностей в отличие от переводов. К тому же структура основного меню на официальном сайте более логична - основные разделы документации вынесены в левую часть, а различные дополнительные в правую.
Основными разделами справки по Bootstrap являются:
- Getting started (Основы) - содержит информацию о способах подключения Bootstrap к Вашему проекту и несколько шаблонов, которые можно использовать для начала работы;
- CSS - описывает все существующие классы CSS для Bootstrap и даёт примеры их применения в готовом коде;
- Components (Компоненты) - данный раздел даёт рекомендации по принципам использования специфических для Bootstrap компонентов;
- JavaScript - знакомит нас с примерами использования скриптов Bootstrap и его плагинов.
Дополнительно имеются также разделы с готовыми темами оформления, выставкой работ на Bootstrap, вакансиями, блогом (а на русскоязычной версии ещё и полноценным форумом), но это уже разделы вторичные. Для освоения Bootstrap нам нужно будет сосредоточить своё внимание на вышеупомянутых.
Документация весьма обширна и в ней по началу можно очень легко запутаться. Чтобы этого не произошло - главное понять структуру и принцип описания материала в ней. Классической инструкции здесь, по-сути, нет - всё изложено в конкретных примерах. При этом для каждого примера может иметься несколько вариантов с описанием различий и условий применения.
Структурно описание происходит в том же порядке, в котором обычно происходит вёрстка. То есть, в начале описываются общие сущности, затем конкретизируются элементы по принципу сверху вниз. Например, в разделе CSS всё начинается с описания доктайпа, МЕТА-тегов и заканчивается частными случаями использования препроцессоров Less и Sass.
Для упрощения поиска нужной сущности можно использовать боковое меню в правом сайдбаре. Увы, поиск по документации здесь не предусмотрен...
Одним из самых важных моментов пр освоении Bootstrap является понимание его сетки . Сетка Bootstrap являет собой нечто вроде готовых ячеек, в которые можно вкладывать любой контент. При этом содержимое этих "ячеек" выравнивается нужным нам образом и при изменении размеров экрана корректно адаптируется под новую его ширину.
Информацию о сетке мы можем найти в разделе справки CSS - Grid system :
Здесь всё расписано довольно обстоятельно, однако, если кратко и более понятно, то сетку Bootstrap можно сравнить с использовавшимся когда-то принципом табличной вёрстки. Здесь так же нужно создать контейнер (аналог таблицы -