Вы веб-разработчик или только планируете начать обучение? Тогда данный материал станет для Вас полезным. В статье рассмотрим популярный фреймворк Bootstrap и его недавно вышедшую четвертую версию. Проанализируем преимущества, недостатки и возможности для верстки с помощью Bootstrap.
Свободный набор инструментов основан на HTML и . Если рассматривать весь фреймоворк в целом, то главные особенности это:
В качестве инструментов Bootstrap использует сетки, шаблоны, типографику, медиа, таблицы, формы, навигацию и алерты.
В прошлом году была презентована последняя версия . Что же нового сделали в четвертой версии разработчики?
Это еще не все преимущества, которым наделен Bootstrap 4. Попробовать все плюсы нового фреймоворка можно самостоятельно скачав его бесплатно с официального сайта .
Как развивается Bootstrap 4? Разработчики приглашают всех веб-мастеров присоедениться к тестированию фреймворка. Все пожеланию и предложения по развитию ПО можно оставлять на официальной странице и их обязательно учтут. Следует отметить, что при появлении третей версии, вторая прекратила свою поддержку, что повлекло за собой много неприятностей. На данный момент разработчики Бутстрапа обьявили, что не будут прекращать поддержку 3-ей версии. А вся документация доступна на том же уровни, что и в 4-ой.
Веб-специалисты любят Бутстрап 4, исходя из нескольких весомых причин: он бесплатен, имеет открытый исходный код, позволяет ускорить разработку, имеет понятную и обширную документацию.
Надеемся, что наш обзор помог Вам детальней ознакомиться со всеми возможностями Бутстрап 4. Как видим изменений с фреймворком произошло достаточно, но разработчики продолжают работать над развитием ПО, поэтому следите за обновлениями!
Приветствую всех, друзья!
Сегодня я бы хотел поговорить немного о CSS. А именно о новом CSS- Bootstrap 4. Он официально вышел не давно, и я думаю что вам будет интересно узнать, что же нового туда засунули разработчики. Beta-версия уже давно доступна для скачивания, но полная версия вышла не так давно.
Так что я заполняю этот пробел и расскажу о нововведениях в Bootstrap.
Версия 4 Bootstrap является серьезным изменением всех предыдущих версий. Это мобильная платформа и может претендовать на то, чтобы быть одной из лучших CSS-фреймворков для создания адаптивных веб-сайтов.
Поскольку Bootstrap — это платформа для мобильных устройств, по умолчанию все, что вы планируете или создаете, будет совместимо с мобильными устройствами или будет реагировать на них. Разве это не круто?
НачинаемBootstrap имеет новый дизайн сайта, который сам построен с использованием последней версии системы Bootstrap (версия 4 на момент написания).
Вы можете либо подключить предварительно скомпилированную версию Bootstrap, используя CDN, либо загрузить файл архива .
Как только вы распакуете архив, то увидите множество файлов и папок, которые не требуются для нашей статьи. Перейдите прямо в каталог «dist» и скопируйте все папки в новое место назначения, которое будет вашим проектом.
В предыдущих версиях среды загрузка включала дополнительную папку шрифтов. Теперь шрифты не включены, но мы можем легко взять некоторые приятные из Font Awesome например, или из вашего любимого ресурса для шрифтов-значков. В нашем случае у нас есть две директории, поэтому давайте посмотрим на каждую из них. Папка «css» содержит шесть CSS файлов:
Как вы можете видеть, последняя версия Bootstrap намного более модульная, чем предыдущая. Если вам просто нужен хороший сброс стилей CSS, просто используйте bootstrap-reboot.css (или его сокращенную версию bootstrap-reboot.min.css). Аналогично, если вы просто хотите использовать сетку, подключите bootstrap-grid.css (или сокращенную версию bootstrap-grid.min.css) в свой проект.
Для этой статьи наш основной файл CSS будет bootstrap.css, и мы должны подключить его во все наши HTML-страницы. Файл bootstrap.min.css — это тоже самое, только сокращенная версия bootstrap.css. Это необходимо, когда мы действительно будем развертывать наш сайт онлайн.
Перейдя к папке «js» — у нас есть следующие четыре файла:
Начиная с Bootstrap 4 beta 2, папка «js» включала две новые папки bootstrap-bundle.js (вместе со своей мини-версией), а также Popper.js — интеллектуальную библиотеку JavaScript для управления poppers в веб-приложениях.
Итак, что именно мы собираемся построить?В этой статье я собираюсь создать статическую целевую страницу с помощью Bootstrap 4, которая будет называться «Сезонная аренда». Посмотрите на демо-страницу в первую очередь.
Измените размер окна браузера, и вы увидите некоторые удивительные преобразования в макете веб-страницы. Он настраивается на размер окна. Вы также заметите, что панель меню автоматически скрывается в приятном сенсорном меню.
Поэтому мы собираемся построить это! В восторге? Да, я тоже!
СтруктураBootstrap понимает элементы HTML5, поэтому нам нужно добавить соответствующий тег «doctype» на нашу веб-страницу. Давайте создадим новую HTML-страницу и добавим следующий тег «doctype».
Теперь мы добавим основные теги, которые присутствуют в каждом документе HTML:
Bootstrap 101 Template Hello, world!
Глядя внутрь , у нас есть элемент «title», который достаточно легко понять: он дает название странице.
Также у нас есть элемент «meta», который очень важно понимать при использовании Bootstrap. Поскольку эта версия Bootstrap построена для совместимости с различными типами устройств (мобильные телефоны, планшеты, настольные компьютеры, дисплеи Retina и т. д.), вы должны сообщить браузеру, что он должен масштабировать вашу веб-страницу соответствующим образом на каждом устройстве.
Мета элемент «viewport» делает это: здесь мы установили начальную ширину устройства «content-width» и масштабировали его только один раз.
После установки мета-элемента «viewport» мы импортировали версию разработки файла bootstrap.css.
Перейдем к разделу «body» приведенного выше фрагмента HTML. Чтобы что-то вывести, мы написали «Hello, world» внутри тега «h1». Затем мы подлючили необходимые файлы JavaScript из папки «js». Убедитесь, что эти файлы JavaScript подлючены на каждой странице. Документация Bootstrap рекомендует включать все JavaScript в конце страницы.
Погружение в BootstrapТеперь, когда наша базовая структура готова, мы перейдем к добавлению разных компонентов на нашу веб-страницу. Эти компоненты на сегодняшний день являются наиболее важной частью каждого веб-сайта, поскольку мы их видим каждый день. Я собираюсь разделить демо-страницу на различные части, как показано ниже.
Проектирование меню в Bootstrap — это самая простая вещь, которая может произойти в мире веб-дизайна. Давайте начнем создавать меню для нашей веб-страницы.
Меню реагирует по умолчанию и получает новый вид на более мелких устройствах. Поскольку у нас есть весь CSS, готовый в нашем файле «bootstrap.css», нам просто нужно добавить правильную разметку и правильные классы для каждого элемента.
Начнем с элемента:
/* navbar code here */
Поскольку Bootstrap совместим с HTML5, мы будем использовать элемент для нашего меню навигации. Давайте я расскажу про каждый класс, применяемый к нему.
Vacation Rentals
Класс «navbar-brand» используется для брендинга целей. В нашем случае отображается имя веб-сайта.
Затем обратите внимание на классы в элементе . Эта кнопка видна только на маленьких экранах, и она используется для включения и выключения видимости меню data-target=»#navbarSupportedContent», что является ссылкой на значение идентификатора элемента «div», содержащего это меню. Давайте добавим этот элемент сейчас, чуть ниже предыдущего кода:
Search
Вышеприведенный код является основным содержанием нашего меню. «navbar-collapse» применяется, чтобы сделать меню сенсорным, а также изменить его форму для небольших устройств. Содержимое внутри довольно легко понять. Мы использовали базовые элементы ul и li для перечисления пунктов меню. Также есть форма, которая классифицируется «form-inline» так, чтобы она отображалась правильно внутри панели навигации. И, наконец, я показал основную структуру, чтобы разместить раскрывающееся меню внутри навигации.
Здесь важны две вещи:
Вы также можете обратиться к документации, которая настоятельно рекомендуется всякий раз, когда вы находитесь в каком-либо замешательстве.
Итак, мы, наконец, закончили навигационное меню. Давайте перейдем к построению остальной части разметки внутри раздела .
Область заголовкаBootstrap предлагает класс полезного использования «jumbotron», который можно использовать для отображения больших заголовков и содержимого. Это в основном используется на веб-сайтах, основанных на продуктах. Для этого нам нужно добавить следующую разметку:
Best Vacation Rentals
Sed placerat fringilla quam et.
Start Now!Мы поставили «jumbotron» внутри div с классом «row» и дали самому «jumbotron» дополнительный класс «col». Это классы, которые использует Bootstrap для построения своей 12-колонной сетки.
Также обратите внимание на использование классов «container-fluid» и «jumbotron-fluid». Эти классы гарантируют, что «container» и «jumbotron» принимают 100% ширину родительского элемента контейнера или браузера, если родительский элемент отсутствует.
Внутри элемента div c классом «jumbotron» мы поместили элементы: h1, p и, наконец, причудливую кнопку.
Класс «display-4» является одним из последних дополнений в Bootstrap. Это класс отображения заголовка, который вы можете использовать, когда вам нужны заголовки, чтобы он действительно выделялся.
Класс «text-light» также является новым дополнением в Bootstrap. Это один из классов полезности цвета, позволяющий быстро контролировать цвет и цвет фона элементов.
Обновите браузер и посмотрите на область заголовка. Потрясающие!
Область содержимогоТеперь нам нужно разделить область содержимого на три равные области и разместить их рядом друг с другом. Благодаря сетке Bootstrap, это будет можно сделать быстро и легко.
Bootstrap обеспечивает 12-колонную сетку. Он делит экран на 12 равных частей, и нам нужно указать, какой элемент HTML занимает какие части сетки. Короче говоря, любой элемент будет занимать минимум одну сетку.
Давайте сначала посмотрим на разметку.
Во-первых, есть три элемента div, которые содержатся внутри одной строки. Итак, мы начинаем новую строку, добавляя новый класс «row».
Строка теперь содержит еще три тега div с классом «col-sm». Перед выпуском Bootstrap 4 достижение этого результата потребовало бы добавления класса «col-md-4» к каждому из этих элементов. Число 4 в классе означало, что сетка состояла из четырех столбцов. Таким образом, три div с четырьмя столбцами занимали 12 столбцов.
Новая сетка Bootstrap использует силу Flexbox, чтобы сделать вещи способом менее сложным. Класс «col-sm» в каждой колонке div само по себе гарантирует, что содержание равномерно делится между тремя div-ами, пока размер экрана не станет 576px, это точка, где столбцы начнут складываться друг на друга.
Класс «pb-4» один из новых служебных классов, которые приходят с Bootstrap 4. Это создает некоторый отступ снизу внутри элемента на основе значения.
Поскольку у нас есть несколько подходящих div-ов, теперь настало время заполнить их некоторым контентом. В нашем случае содержимое уникально для каждого из них, с разными изображениями, но структура одна и та же. Вот пример содержимого в первом столбце:
Type 1
Lorem Ipsum...
Book Now @ $599>Добавленное изображение имеет класс «img-fluid», который позволяет соответствовать размеру родителя независимо от его собственного размера. Изображение реагирует на размер каждого div. Также у нас есть нормальные теги h3 и p. Вы можете заполнить тег p любым контентом. На моей демо-странице я использовал автоматически генерируемый текст Lorem Ipsum. Затем, в конце, я добавил кнопку.
Класс «btn-success» используется, чтобы сделать кнопку зеленой. Есть другие классы как «btn-info», «btn-default», «btn-warning» и «btn-danger». Вы можете документации для всех цветов.
Наконец, мы использовали несколько классов, полезные для полей, центрирования и округления внешнего вида изображения в круг.
Футер (подвал сайта)Область футера соответствует тем же принципам, что и область содержимого. Вот разметка:
Vacation Rentals
Я использовал элемент HTML5 «footer» и создал еще одну строку одновременно. Затем я разделил всю область на три равные части, так же, как и в основной области содержимого выше. Затем я заполнил каждый столбец.
Некоторые дополнительные классыКлассы таблиц: если вы используете элемент
html { box-sizing : border-box ; *, *:before, *:after { box-sizing : inherit ; |
Это позволяет легко переопределить стиль box - sizing не увеличивая специфичность используя ! important .
Rem и EmsВ Bootstrap 4 alpha прекращена поддержка IE8 и множества хаков CSS3. Это позволило использовать некоторые новые свойства CSS3. Одно из них rem , которое вычисляет высоту шрифта в зависимости от высоты корневого элемента html .
Используя rem мы можем создавать по-настоящему адаптивную типографику. Так как, шрифт зависит от корневого элемента, можно создавать media правила для различных разрешений и мы получим гибкое управление размером шрифта.
Пример изменения размера шрифта на маленьких экранах:
html{ font-size:16px; } // Creates a media query for extra small devices (0 - 34em) @include media-breakpoint-up(xs) { html{ font-size:18px; } }
html { font-size : 16px ; // Creates a media query for extra small devices (0 - 34em) @include media-breakpoint-up(xs) { html { font-size : 18px ; |
Из коробки, Bootstrap 4 не поддерживает Flexbox, это помогает с поддержкой IE9 +. Однако, если вы хотите использовать Flexbox, вы можете включить его в свой проект. Это делается переключением логической переменной в файле _variables.scss . Скомпилированный CSS будет содержать Flexbox стили. Flexbox используется не только в качестве сетки, но и для других элементов, например, для карточек (Cards), для input groups и media components.
Пример использования FlexboxДавайте рассмотрим пример, где Flexbox помогает нам. Есть три колонки расположенных в ряд. У одной из колонок контент увеличивает ее высоту. Использование Flexbox позволяет выровнять высоту колонок без дополнительного CSS.
Весь CSS скомпилирован с помощью Sass, причем компиляция ускорилась за счет использования Libsass.
Карточки (Cards)Классические well
, panel
и thumbnail
были заменены на новый компонент cards .
Вы можете наложить фоновое изображение или текст без CSS. Для этого надо добавить следующий элемент:
< img class = "card-img" data - src = "image.jpg" alt = "Card image" > |
Класс card - inverse сменить цвет заголовка на белый, для использования с темным фоном.
Группировка карточек
Дополнительно к стандартной сетке, можно сгруппировать карточки вместе, удалить промежуток между ними и выровнять по высоте. По умолчанию, используются display
:
table
и table
-
layout
:
fixed
, но если будет включен flexbox, то будет использован display
:
flex
instead
.
В Bootstrap 4 добавлена адаптивная сетка, в которой элементы выравниваются по высоте, сохраняя вертикальное расстояние между элементами. Поддержка IE10 и выше.
В предыдущую версию были включены различные классы названные «вспомогательные классы». В основном использовались такие классы, как pull
-
left
, pull
-
right
, color (.
text
-
primary
), clearfix (.
clearfix
).
В Bootstrap v4 alpha появился целый ряд классов определяющих padding и margin элементов.
// $spacer это переменная sass которая равна 1rem или 16px .m-a-0 { margin: 0 !important; } .m-a { margin: $spacer !important; } .m-a-md { margin: ($spacer * 1.5) !important; } .m-a-lg { margin: ($spacer * 3) !important; }
// $spacer это переменная sass которая равна 1rem или 16px M - a { margin : $ spacer ! important ; } M - a - md { margin : ($ spacer * 1.5 ) ! important ; } M - a - lg { margin : ($ spacer * 3 ) ! important ; } |
M
-
a
добавляет внешние отступы со всех сторон элементов. Есть классы для каждых отдельных сторон.
Некоторые другие классы:
// Добавляет padding к всем сторонам.p-a { padding: $spacer !important; } // Добавляет padding к верхней стороне.p-t { padding-top: $spacer-y !important; } // Добавляет padding справа.p-r { padding-right: $spacer-x !important; } // Добавляет padding к низу.p-b { padding-bottom: $spacer-y !important; } // Добавляет padding слева.p-l { padding-left: $spacer-x !important; } // Добавляет padding слева и справа.p-x { padding-right: $spacer-x !important; padding-left: $spacer-x !important; } // Добавляет padding сверху и снизу.p-y { padding-top: $spacer-y !important; padding-bottom: $spacer-y !important; }
// Добавляет padding к всем сторонам P - a { padding : $ spacer ! important ; } // Добавляет padding к верхней стороне P - t { padding - top : $ spacer - y ! important ; } // Добавляет padding справа P - r { padding - right : $ spacer - x ! important ; } // Добавляет padding к низу |