Автор(ы): Андрей Кудлай
На всем русскоязычном пространстве по состоянию на начало 2016 года нет ни одного исчерпывающего видеоруководства, которое полностью бы раскрывало все нюансы работы в этом невероятно популярном CSS-фреймворке. Кроме непосредственного изучения Bootstrap`a, курс охватывает все базовые знания верстки. Поэтому он будет ценен также для начинающих пользователей, которые только приступили к изучению HTML и CSS, поскольку в курсе можно найти множество приемов современной верстки с использованием HTML5 и CSS3. Все дополнительные знания по верстке, включая наиболее актуальные знания из HTML5 и CSS3, которые могут понадобиться для изучения курса, входят в данный курс в виде бонусов.
Первая часть курса посвящена изучению фреймворка Bootstrap, изучению его возможностей. Особое внимание уделено изюминке и жемчужине фреймворка - сетке. Сетка Bootstrap’а - это именно то, из-за чего он нам в первую очередь и нужен. Именно поэтому фактически половина первой части - 4 из 9 уроков выделены под изучение и практику работы с сеткой Bootstrap’a. Именно сетка фреймворка позволяет нам верстать ровные красивые и аккуратные страницы, которые к тому же уже изначально будут адаптивными.
В первом уроке курса мы пройдемся по организационным моментам, рассмотрим структуру курса, узнаем основные источники документации, с которой будем работать на протяжении всего курса. Также обозначим необходимое программное обеспечение (редактор, версия фреймворка Bootstrap). Кроме всего прочего, мы поговорим о вопросе: "А нужны ли нам вообще CSS фреймворки"?
В этом уроке мы рассмотрим варианты установки фреймворка Bootstrap и установим фреймворк для последующего изучения и дальнейшей работы с ним. Также мы узнаем, зачем нужны исходники фреймворка, с которыми будем работать в одном из следующих уроков.
В этом уроке и на протяжении нескольких следующих уроков мы с вами будем знакомиться с сеткой фреймворка Bootstrap. Собственно, сетка - это то, из-за чего нам в первую очередь и нужен фреймворк. Именно сетка позволяет с легкостью верстать различную структуру страниц и при этом эти страницы будут изначально адаптивными, т.е. будут подстраиваться (адаптироваться) под различные разрешения устройств, на которых страница просматривается.
В этом уроке мы продолжим изучение сетки Bootstrap’a и от теории перейдем к практике, на простых примерах изучая возможности сетки фреймворка.
Еще один урок мы посвятим закреплению на практике работы с сеткой Bootstrap. Здесь мы уже будем придумывать и решать задачи посложнее.
Этот урок подобьет определенный итог трех предыдущих уроков. Здесь от простых примеров мы перейдем к реальному практическому примеру и сверстаем схематичный макет каталога товаров. Это будет 2-хколоночный макет сайта, в сайдбаре будет находиться меню, в контентной части - карточки товаров. При этом верстка такого макета по сути займет считанные минуты, и здесь мы напишем всего пару собственных стилевых правил. Все прочие стили будут стилями фреймворка. Конечно, в результате мы получим схематичный сайт, некий скелет, но это уже будет адаптивное решение, которое останется только оформить должным образом, чтобы получить в результате законченное готовое решение. И на создание макета из урока мы затратили, как уже отмечалось, считанные минуты.
Кроме своей основы - сетки - Bootstrap предлагает массу дополнительных готовых решений в виде компонентов. Именно готовые решения, которые целиком и полностью можно использовать на различных проектах. Среди прочего это: формы, кнопки, постраничная навигация, модальные окна, слайдер-карусель, вкладки, аккордеон и многое-многое другое.
Урок №8. Кастомизация Bootstrap. Часть 1
В этом уроке мы продолжим изучение всевозможных компонентов, которые предлагает нам Bootstrap из коробки.
В этом уроке мы с вами научимся кастомизировать Bootstrap, т.е. изменять его под себя. Именно для этого и нужны исходники, которые Bootstrap предлагает нам скачать вместе с файлами самого фреймворка. Именно эти исходники мы и можем изменять, кастомизируя фреймворк. Сделать этом можно несколькими способами: внося правки в исходники less или sass и компилируя новый файл фреймворка или же воспользоваться онлайн-инструментом кастомизации от самого фреймворка. Об этих способах вы и узнаете из данного урока.
От теории мы плавно переходим к практике. Следующие две части курса будут посвящены исключительно практике работы с фреймворком Bootstrap. Здесь мы, конечно же, основное внимание будем, опять-таки, уделять работе с основой фреймворка - с сеткой. Но также мы не оставим без внимания и использование компонентов фреймворка. В частности, несколько уроков уже текущей части курса будут посвящены работе со слайдером фреймворка, который мы будем кастомизировать под себя. Итак, вторая часть курса посвящена созданию главной страницы интернет-магазина StyleTour.
Верстку любой страницы желательно начинать с ее анализа, что мы и сделаем в этом уроке. При анализе желательно разбить в уме страницу на кусочки (блоки) и продумать способ верстки каждого из кусочков. Касательно Bootstrap'a, здесь желательно продумать, какие классы использовать для верстки общей структуры (шапка, сайдбар, контент, футер...), продумать, как должен вести себя макет при изменении ширины экрана, как должны при этом перестраиваться элементы сайта и т.д.
В данном макете у нас присутствует несколько различных меню. В частности, в шапке сайта у нас будет 2 меню, в каждом из которых будет довольно много пунктов. В этом уроке мы сверстаем самое первое меню страницы. Это будет пока только верстка, оформлением мы займемся уже в следующем уроке.
Итак, в предыдущем уроке мы сверстали первое меню нашего макета. Собственно, как вы могли заметить, сделать это было довольно просто. Поскольку Bootstrap предлагает нам отличную документацию со множеством примеров, мы взяли наиболее подходящий нам пример меню из документации и немного поправили его под себя. В итоге у нас на странице появилось уже практически готовое меню. Нам осталось лишь оформить его, что мы и сделаем в текущем уроке.
Одной из изюминок макета, выбранного нами для верстки, является слайдер в шапке. Этот слайдер, в отличие от прочих элементов страницы, должен тянуться на всю ширину экрана. Также оформление слайдера и его элементов на макете несколько отличается от стандартного оформления карусели Bootstrap. Именно поэтому работа со слайдером будет хорошей практикой по работе с компонентом карусели, так и по кастомизации данного компонента.
По умолчанию в слайдере Bootstrap слайды меняются с эффектом именно карусели, т.е. текущий слайд уезжает влево, а его место занимает слайд, выезжающий справа. Мне кажется, такой эффект не очень современен и он на любителя. В этом уроке мы попробуем изменить эффект slide на эффект растворения - fade, который смотрится более привлекательно.
В этом уроке мы продолжим работу со слайдером и добавим, а также оформим согласно макета содержимое слайдов.
В этом уроке мы поработаем с индикаторами слайдера, которые показывают количество слайдов, а также позволяют переключаться между ними.
Текущий урок будет посвящен верстке второго меню шаблона, которое находится в слайдере. Особенностью этого меню является то, что в нем находится логотип сайта, который по умолчанию не совсем вписывается в меню на мобильной версии сайта. Попробуем найти оригинальное решение для того, чтобы на мобильных устройствах все смотрелось достаточно удобно и хорошо.
В этом уроке мы продолжим работу с основным меню сайта и добавив оформление для него в стиле нашего шаблона.
Текущий урок мы посвятим дополнительным вариантам работы меню. Поскольку меню у нас имеет много пунктов, то на мобильных устройствах некоторым может не понравится расположение меню в два ряда. К тому же еще в меню находится и поиск, который также не очень может вписываться в меню на мобильных устройствах. Попробуем что-то сделать с этим, добавив оригинальное оформление и немного магии jQuery.
В этом уроке мы проанализируем контентную часть шаблона, попробуем сформулировать общую структуру разделения шаблона на сайдбар и контент, зададим необходимые классы, тем самым разделив шаблон на сайдбар и контент.
В этом уроке мы сверстаем блоки виджетов сайдбара, которые представлены в виде меню категорий. Также мы зададим для них ряд стилевых правил, добиваясь нужного оформления для той или иной ширины устройства.
В этом уроке мы допишем необходимую разметку для сайдбара. Здесь мы набросаем разметку для слайдера в сайдбаре, блока рекламы, а также блока О магазине.
Слайде в сайдбаре кардинально отличается от слайдера в шапке и поэтому в данном уроке нам потребуется написать новые стили для оформления нового слайдера на создаваемой странице.
В этом уроке мы завершим работу с сайдбаром, добавив недостающие стили и проверив итоговую работу на адаптивность.
Основой любого интернет-магазина или каталога товаров являются карточки товаров, ведь товары это именно то, на что пользователь обращает особое внимание. В этом уроке мы с вами создадим разметку карточки товаров для нашего сайта.
В предыдущем уроке мы создали разметку для карточки товара на нашем сайте. В результате мы получили в целом неплохой вариант, который осталось оформить согласно имеющегося у нас шаблона, чем мы и займемся в данном уроке.
Итак, мы завершили с оформлением карточки товара и получили необходимый нам результат. В этом уроке мы рассмотрим еще один вариант оформления карточки товара, который вы можете использовать в своих проектах. Это довольно популярное на сегодня решение, которое заключается в скрывании части информации на карточке и показе ее при наведении на саму карточку.
В этом уроке мы завершим верстку и оформление контентной части страницы. Также мы протестируем полученную верстку на адаптивность, добиваясь хорошего отображения как на десктопах, так и на мобильных устройствах.
В макете имеющегося у нас шаблона есть форма подписки, которую мы и сверстаем в данном уроке. В процессе верстки мы ближе познакомимся с формами в Bootstrap и поработаем с ними.
В этом уроке мы будем оформлять сверстанную в предыдущем уроке форму подписки, добиваясь нужного оформления и отображения формы на различных типах устройств.
Еще одним динамичным элементов создаваемой страницы является слайдер, который находится перед футером сайта. Это специфичный элемент и для его создания мы воспользуемся сторонним плагином для создания слайдеров. В ходе урока мы рассмотрим нюансы создания подобных слайдров на адаптивных сайтах.
Последние два урока мы посвятим финальной части в верстке сайта - это будет верстка и оформление футера. Футер у нас, можно сказать, является типовым для современных сайтов. В нем размещено много ссылок и данных: копирайт, иконки социальных сетей, способы оплаты и т.д. В этом уроке мы сверстаем содержимое футера.
Последний урок будет посвящен оформлению футера и итоговому тестированию получившейся верстки в целом.
Третья часть курса посвящена созданию так называемого одностраничника или лендинга. Здесь мы, как и ранее, особое внимание будем уделять сетке фреймворка. Также мы поработаем с новыми компонентами Bootstrap'a, работу с которыми не затрагивали ранее: в частности, это вкладки, аккордеон и модальные окна. Среди всего прочего мы с вами будем использовать не только родные, но и сторонние компоненты для Bootstrap'a. Например, мы используем компонент для создания нестандартных выпадающих списков формы, а также компонент для валидации форм.
Начнем мы курс, как обычно, с урока по анализу макета. Здесь мы сформулируем не только некие общие правила, которые непосредственно касаются имеющегося макета, но и правил, которые относятся в целом к лендингам.
Итак, переходим к первой секции лендинга - секции шапки. По задумке данная секция должна занимать всю доступную ширину и высоту экрана. То есть, на каком бы устройстве мы не открыли сайт, всюду первая секция должна занимать ровно 100% ширины и высоты. Кроме того, контент секции должен быть центрирован как по горизонтали, так и по вертикали. В этом уроке мы сверстаем секцию, а в дальнейших оформим ее и рассмотрим несколько вариантов решения поставленных выше задач.
Поскольку одностраничник разбит на секции, можно предположить, что каждая из секций должна иметь некие одинаковые правила оформления. И это действительно так. В этом уроке мы выделим такие правила и опишем их в стилях сайта.
В этом уроке мы оформим первую секцию сайта - шапку. Также мы рассмотрим несколько вариантов решения задачи, когда секция должна занимать 100% ширины и высоты экрана.
Следующая секция, которую мы должны реализовать - секция спикеров. Это достаточно длинная и объемная секция, поэтому для ее создания мы выделим несколько уроков. В этом уроке, среди прочего, мы поработаем с созданием вкладок, используя для этих целей оригинальный компонент Bootstrap.
В этом уроке мы оформим первую часть секции спискеров, сверстанную в предыдущем уроке.
Вторая часть секции будет посвящена созданию карточек докладчиков. Это относительно сложный элемент в данном макете, который предполагает наличие как фронтальной стороны карточки, так и обратной ее стороны.
В этом уроке мы оформим вторую часть секции спикеров, добавив динамичности к карточкам спикеров: при наведении курсора мыши на карточку сотрудника его фото будет затемняться и будет проявляться обратная сторона карточки сотрудника.
Очевидно, что клик по карточке сотрудника должен предполагать некие действия. В качестве такого действия мы будем использовать компонент Bootstrap для модальных окон. Именно в модальном окне и будет открываться дополнительная информация по докладчику.
Секция событий на макете является также достаточно объемной. При ее верстке мы вновь столкнемся с вкладками. Также мы поработаем с аккордеоном в Bootstrap, немного дописав работу с его событиями в jQuery. Также мы увидим, насколько просто Bootstrap позволяет вставлять на страницу адаптированные видео.
В этом уроке мы оформим сверстанную первую часть секции событий.
В этом уроке мы научимся отслеживать события открытия и закрытия аккордеона. Это необходимо для того, чтобы изменять иконку индикатора аккордеона с плюса на минус и обратно.
Во второй части секции событий очередной новинкой будет необходимость создания адаптивного видео на странице. Остальное содержимое будем простым и уже знакомым нам.
В этом уроке мы сверстаем и оформим заключительную часть секции, добавив несколько стилевых правил для этого.
Несколько следующих уроков мы посвятим созданию формы. Сложность задачи заключается в наличии, согласно макета, нестандартного выпадающего списка, а также в необходимости валидации формы.
В этом уроке мы решим задачу валидации формы. Решить задачу можно двумя способами: написать собственный скрипт валидации или же воспользоваться готовыми решениями. Мы обратимся к стороннему компоненту, коих для Bootstrap имеется масса. Данный компонент для валидации позволит нам легко внедрить его в дизайн шаблона, а также имеет массу настроек.
Следующий элемент формы, для которого мы используем стороннее решение, это выпадающий список. Для него мы используем специальный компонент, который гибок в настройках и позволит оформить select формы в необходимом нам стиле.
В этом уроке мы реализуем сразу две небольшие секции - это секция с логотипами спонсоров, а также секция с изображением карты.
Урок №19. Верстка футера
Традиционный финал практически любой страницы - ее футер. Футер в нашем макете довольно прост: блок контактов, блоки информации для пользователя, а также копирайт. В этом уроке мы сверстаем футер.
В данном уроке мы займемся оформлением футера.
Верстка сайта готова и на этом можно было бы завершать основную часть сайта. Но давайте сделаем наш сайт еще чуть более динамичным и приятным для посетителей. Для этого мы добавим к нему эффектов анимации. Такие решения часто применяются на лендингах: при прокрутке страницы на ней плавно появляются всевозможные элементы и блоки. Для нашего решения мы используем библиотеку animate.css, позволяющую добавить эффекты анимации, а также плагин, воспроизводящий эффекты при скролле страницы.