Давайте подготовим окружение для нового проекта:
Для начала, скачаем стартовый шаблон:
С обновляемого ресурса:
[maxbutton id="1" url="#set-default" text="Начальные установки" ]
[maxbutton id="1" url="#header" text="Верстаем: Шапка сайта" ]
[maxbutton id="1" url="#menu_main" text="Верстаем: Меню главное" ]
[maxbutton id="12" url="#magnific_popup" text="Magnific-Popup подключаем!" ]
[maxbutton id="11" url="#libs" text="libs.js - Подключение Библиотеки" ]
[maxbutton id="12" url="#blure" text="Blure - Делаем Блюр фона!" ]
Или по постоянным ссылкам:
Мы выберем OptimizedHTML_2.0
РАСПАКОВАТЬ В ПАПКУ БУДУЩЕГО САЙТА:

Нужно установить:

У нас уже стоит!
Далее, откроем в консоли нашу папку:



На MAC-ке ТАК:

И после 5-6 минутного ожидания, вроде установились ПАКЕТЫ:

Иногда просит обновить сам пакет npm:

Не забываем (Для Ре-Запуска проекта):

И тут же запустим GULP


Установили!


Далее проверим работу Gulp:




Во общем пока Анимацию - не подключаем!
Теоретически в OptimizedHTML_2.0 - уже встроена возможность CSS - Анимации.

Для начала подключим необходимые шрифты:
Скопируем все шрифты из папки "Lesson OVK" - в соответствующую папку Стартового шаблона OptimizedHTML_2.0


Остановим сервер и выполним сборку проекта:

И проверим подключение наших шрифтов:



Изменим дефолтный шрифт:






И сразу оформляем стили:

Появился фон:

И что бы верхушка фона прилипала к верху и центру:





Смотрим что получается:

Теперь нам нужно сделать что бы Группа Телефон - на мобильных устройствах оказывался под логотипом.
А меню уже ниже.
https://getbootstrap.com/docs/3.3/css/


И видим в каком порядке происходит вывод:

Затем переставим местами в html - наши колонки:

Видим как поменялся порядок вывода колонок:


И они поменялись местами:

Теперь телефон - на мобильных устройствах будет уезжать под логотип.
[maxbutton id="4" text="Верстаем МЕНЮ главное" ]

Пункт меню "Главная" - у на активен - поэтом укажем класс:

Затем сразу оформим Item - меню:

Получилось так:

Продолжим работать над МЕНЮ:




Затем добавим цвет на hover - меню:


сделаем плавный переход на hover (решение 2 - через глобальный класс)
|
1 2 |
<strong>.my_trans </strong>transition: all <strong>.6s</strong> ease |
и используем класс перехода:

И также подсветим активный пункт МЕНЮ:


Смотрим на меню:

И теперь подключим FontsAwesome:
Подключили и проверим вывод иконки:



Смотрим:


И оформим стиль телефона:

Оформим: "Заказать обратный звонок"

и еще упростим наш transition

И вызов соответственно:

Top-Line - Сверстали!

Далее верстаем контент-текстовый блок:
с кнопкой, Item - списком и фото оборудования.

Накидываем 2 div-a по 6 колонок:


И смотрим:


Далее Item-список:




И видим список встал:




Далее



Далее
Берем готовый Gist Button
И вставляем:


Перекрасим их в ЗЕЛЕНЫЙ




И вуаля)




Отлично! Но картинка может вести себя не предсказуемо.
Поэтому добавим класс:






И финальный результат верстки header (пока без адапации)

Теперь добавим анимированную icon мышку:
Возьмем Gist mousewheel-icon



GO в конвертер


Полученный SASS-код вставляем в main.sass
и преобразуем пробелы в табы:


И оформим сам класс:

Смотрим на мышку-иконку:


Можно немножко кастомизировать наш "mouse-whell"
Перекрасим ее в наш $blue_gray

Далее сделаем Меню Гамбургер для мобильных устройств.






Далее - при сжимании страницы у нас меню перескакивает на следующую строчку:

Поэтому исправим:


Копируем html-гамбургер меню и вставляем:

Далее вставляем CSS и конвертируемым пробелы в TAB-ы


Далее в common.js

==================================================
Этот момент нам бы изучить!!!
Что за цели Яндекс???

==================================================



Кроме того - Наше меню не на месте - поэтому исправим:

и идем в media.sass

А тут перенесем:

И еще чутка стилизуем меню:
>

На малых экранах - пока так:


Симпатично и по центру)

Но наше Меню-Гамбургер все же болтается в стороне.


[maxbutton id="4" text="Адаптивим средину-контент Хэдера" ]

Исправляем:

А картинку оборудования - будем скрывать на малых разрешениях.



И не плохо получилось:
Заголовок отцентрировал + Items по центру с выключкой по левому краю.
И еще поставим кнопку по середине на малых экранах -
для этого обернем в html- ее и напишем медиа-запрос:

Все ровно - по центру:

[maxbutton id="4" text="Доделываем Меню" ]
GO в html:


Смотрим на меню на СРЕДНИХ МОНИТОРАХ:


И так ее переопределяем:

Перекрасили в белые пункты:




И опустим чуть ниже наше Toggle-Menu, что бы оно не прилипало к телефону:

Финальный вид Toggle-Menu:

Адаптивить Header - Закончили!
[maxbutton id="5" text="Урок-15 Верстка. Dark Line Digital преимущества" ]


Накидаем сразу полосу:

Видим ее)

Далее смотрим на нашу полосу и анализируем:
Что же мы видим?
4 блока по 3 колонки: по 3 колонки на Item




Смотрим:

И поскольку мы не будем стилизовать сетку - т.е. не будем добавлять классы сюда >


Теперь стилизуем:

Вообще))

Смотрим результат:

[maxbutton id="5" text="Адаптивим Dark Line Digital преимущества" ]


И получилось норм:



[maxbutton id="5" text="Верстка. Секция <Наш профиль>" ]
Смотрим на дизайн секции:
"Галлерея" - Наш профиль!



Смотрим:


Разметка HTML

Оформление SASS:

Смотрим:

Однако - при уменьшении экрана - фото все же репитится !

Что бы этого не было:



Создадим класс "Table"

Далее создадим разметку для "Треугольника" под иконку

И оформим:

Тут подробно:
Превратим наш "gallary-wrap" в ссылку:


Появляется курсор на фото

Вставляем иконку "Play"

Далее поработаем над "Overlay"

Однако! Наш оверлей - перекрыл иконку "Play"
Поэтому:

И выроним по центру по вертикали иконку "Play"



Смотрим:

Добавим плавное затемнение Overlay

Работаем теперь над Правой Контентной частью:

И уже видим результат:

Далее мы сделаем более универсальным класс list-список что бы можно было независимо его использовать в различных секциях и даже проектах:


Копируем список от сюда:

Вставляем список - Сюда:


Исправляем:

[maxbutton id="5" text="Исправим ошибу исчезновения <Главного меню>" ]

Смотрим результат:

Заменим в list-списке галочки на плюсики:

Перекрасим Плюсики:

Далее КНОПОКИ:


Разметку кнопки просто скопируем из прошлой секции:
|
1 |
<strong><a</strong> href="#" class="<strong>button</strong>">Отправить заявку<strong></a></strong> |


Смотрим:

Теперь кастомизируем ВСЕ ТАКИ наши кнопки для нашей конкретной секции:

Смотрим:

Теперь сделаем ЖЕЛТУЮ кастомную кнопку:
Прям после основного стиля "button"

Смотрим:

Теперь поработаем над Заголовком и отступами всех элементов:



Смотрим готовую верстку:

[maxbutton id="5" text="Адаптивим Секцию Галерея <Наш профиль>" ]


Go в media.sass

Смотрим:


Далее уменьшаем экран:


Получилось!


[maxbutton id="5" text="Плавный скролл по клику " ]


GO в common.js


Готово! Сверстали секцию!
[maxbutton id="6" url="magnific_popup" text="Урок-17 Верстка Плавная галерея Magnific-Popup подключаем!" ]
Для этого нам понадобиться плагин - который называется "Magnific-Popup"



Нихуя - не работает!
ПОэтому!

Видим папку, а в ней до хуя файлов:

Затем подключаем по старинке плагин:

Проверим - подключился ли у нас плагин Magnific-Popup



Далее, GO в index.html
Как подключать Magnific-Popup
для этого откроем документацию:

А лучше сюда)))




Затем

Затем GJ в common.js

[maxbutton id="11" text="libs.js - Подключение Библиотеки" ]
И, последний штрих, - что бы это ВСЕ вообще работало:

И, совсем финальный штрих - что бы работала галерея:

И УРА!!! РАБОТАЕТ!!!

Что бы новая библиотека была включена в сборку:

Работает!
НО не хватает плавности в ЛИСТАНИИ))
Возьмем SASS код для прелодера:
Можно сходить на codepen.io
Тут еще про SASS
Скопируем там же: и вставим:

Работает наш прелодер!
Его можно увидеть:


Давайте сделаем теперь POP-UP для "СЕРТИФИКАТОВ"


Далее - что бы выводить в POP-UP несколько сертификатов, добавим wrapper:

И еще давайте исправим ДВУХ-КРАТНОЕ использование одной и той же функции:

Далее в index.html заменим все
".mfp-certificate" на ".mfp-gallery"

Дальше вычищаем старые классы и для ФОТО-ГАЛЕРЕИИ (Не только ДЛЯ СЕРТИФИКАТОВ)

И доработаем универсальную функцию и для "Серитификатов" тоже:

ГОТОВО! РАБОТАЕТ!
МОЖНО теперь легко повесить Вызов галереи на любую кнопку:

Вот, быстренько повесили на кнопку:

[maxbutton id="5" text="Делаем БЛЮР-фона под нашей Галереей" ]

Готово! Работает!
Причем сразу для всех Галлерий и POP-UP сайта.

[maxbutton id="5" text="Урок 18 Анимируем цифры и секция Направления услуг" ]
Анимируем цифры
10 Плагинов анимации цифр тут:
Тут доработанный плагин с БЛЮРОМ:
Кроме того, нам понадобиться js-script:
Waypoints - 4.0.0 - вроде он уже у нас есть в библиотеке.

Проверяем срабатывание:

МЫ ПРОСТО УПОМЯНУЛИ КЛАСС СЕКЦИИ - ДО КОТОРОЙ СКРОЛЛИМ - И СЦЕНАРИЙ СРАБАТЫВАЕТ!

И также вставим туда код скопированный
от сюда:

Вставляем в наш common.js

У нас уже работает БЛЮР и Увеличение шрифта ЦИФР
Далее, нам нужно собственно - подключить Waypoint
(мы то скопировали себе уже готовый "js/libs.js" )
однако - сделаем все по порядку.
Идем в наши папки проекта и создадим папку:

Идем сюда:
https://aishek.github.io/jquery-animateNumber/


Это "animateNumber"

Это "Waypoint" (используем скрин потом)

Далее двигаемся:
GO в html

Отлично! Пробел будет поставлен - АВТОМАТИЧЕСКИ уже готовой функцией "comma_separator_number_step"


И еще нужно сделать - что бы не было повторного срабатывания:
Идем в common.js

ГОТОВО! ПОСЛЕ 1-го СРАБАТЫВАЯ - ИМЕЕМ СТАТИЧНУЮ ПОЛОСУ С ЦИФРАМИ:

[maxbutton id="5" text="Верстаем секцию <Основные направления услуг>" ]

И поправим стиль <h2> для общего класса s-wide

А для исключительных случаев - будет делать выравнивание по ЛЕВОМУ краю:



Этот:

НО ВОЗМОЖНО МЫ ЕЩЕ ПОИГРАЕМСЯ ОТСТУПАМИ,
поэтому идем дальше:
Проанализируем разметку СЕКЦИИ:

пишим html:

Накидываем Item:

Смотрим что получается:

Сделаем еще КАСТОМНУЮ КНОПКУ:
button-small

Пишем кастомный стиль кнопки:

Далее стилизуем наши Items
Нам тут нужен код: SVG to be an inline SVG

Информационное отступление:

Копируем его и вставляем в common.js


И давайте - назначим какое нибудь свойство SVG:
и оформим стили:

Работает при наведении:


Transition - работает!
И визуально хорошо:

Однако нам нужна еще одна кастомная кнопка:
СЕРАЯ КНОПКА
Для начала добавим класс серой кнопки:



ГОТОВ ITEM
Теперь все прокопируем:

Адаптивим:

РЕШАЕМ ТЕПЕРЬ ПРОБЛЕМУ
с Item-мами РАЗНОЙ ВЫСОТЫ:
Для этого:

Далее:
Нам понадобиться плагин: jQuery.equalHeights
Копируем содержимое плагина в режиме правки (так по уроку),
но я не нашел такой режим - видимо просто качаем, а потом вставляем его в "js/libs.js"
(У нас то он уже подключен и скомпилирован)
Это на случай новой установки:
Пример из скаченного архива с плагином:



Далее идем в common.js
и пишем функцию:

И еще ОДНА ПРЕДОСТОРОЖНОСТЬ!

[maxbutton id="7" text="Урок 19: Верстка. Секция <Наши работы> и Pop-up" ]
Анализируем секцию:

Пишем секцию:

Далее:

Работает сначала над одним Item portfolio, затем размножим:


Смотрим:

Однако могут быть отступы у картинок - поэтому что бы их вообще не было - переделаем чуток:

И действительно - отступы УБРАЛИСЬ!
Далее продолжим писать базовые классы:


Смотрим что получается:

Теперь делаем плавное появление нашего OVERLAY

Работает - при наведении! Появляться белая заливка и наша Лупа - по верх с текстом!
Но мы можем еще добавить "ZOOM"

И можем еще увеличивать картинку!

Работает!

Но у нас ZOOM - сваливается в ЛЕВО: (Исправим это)
И можно эффект ЗУМА сделать еще интересней:

Теперь отлично!

Ну и конечно - мы планируем выводить все картинки из

и уже в MODX - есть возможность делать картинки одинаковой высоты (РЕСАЙЗИТЬ) и даже (КРОПИТЬ)
Далее сделаем POP-UP окно:

html

common.js

Первые испытания POP-UP (Включили еще "Невидимость" у всплывающего POP-UP)

Давайте По-СТИЛИЗУЕМ наш POP-UP:

Отлично - Теперь это более-менее похоже на POP-UP


Получилось отцентрировать ФОТО:

<h2> - находится не в ROW - поэтому перенесем а лучше обособить!

Сейчас очень резко открывается наш POP-UP
Смотрим типы анимации в документации MagnificPopup:


Поработаем над ZOOM-мом:


Спускаемся ниже по документации и копируем код:


И вставляем код в конвертер CSS - > SASS

Далее удалим все префиксы:


Вставим в стили:

Готово! ZOOM - Заработал!

Работаем над стилями:



Адрес текст выровним по левому краю:



Тут подробнее по ходу дела:


Далее финально настроим стили, цвета и отступы нашего POP-UP окна:

Смотрим на финально оформленный POP-UP

НАЧИНАЕМ АДАПТИВИТЬ!

ВАЖНЫЕ ПЕРЕМЕНЫ в АДАПТАЦИИ:


Просто финальные настройки стиля:



Теперь - ДУБЛИРУЕМ НАШ Item ПОРТФОЛИО


Смотрим что получилось:




ГОТОВО!
И еще один КОСЯЧОК - не влезает ОПИСАНИЕ при НАВЕДЕНИИ:


Готово! СВЕРСТАЛИ СЕКЦИЮ ПОРТФОЛИО!




















