Стэк: HTML, CSS, чистый JavaScript, верстка на Flexbox без bootsrap, библиотеки: Slider Swipper, JQueryAccordion, fslightbox, choices, tippy, just-validate, inputmask, API Яндекс карты.
В курсе "Профессия "Фронтенд разработчик с нуля до PRO", образовательной платформы Skillbox.ru
- адаптивная вёрстка с корректным отображением на компьютере, планшете и мобильном устройстве: вся информация доступна и отображается
- одинаковое отображение в браузерах Chrome, Firefox, Safari, Opera, Edge
- Логотип
- Ссылка "войти"
- Меню - при клике на пункт меню осуществляется плавный переход к соответствующему блоку.
- Нижнее меню — с выпадающими списками, внутри них должен быть реализован кастомный скролл (с определёнными стилями).
- Поиск по сайту.
В планшетной/мобильной версии: меню представляет собой кнопку, при нажатии на которую меню открывается и закрывается. Ссылка «войти» также переезжает в это меню.
- Фоновое изображение. Оно должно анимироваться — фон должен то приближаться, то удаляться от пользователя.
- Заголовок.
- Описание.
- Подписка — плавно переводит пользователя в конец сайта, к карте.
В мобильной версии: все элементы центрируются.
- заголовок,
- описание.
- заголовок,
- селект для фильтрации галереи (без функционала),
- примечание,
- слайдер - возможность листать фотографии.
В мобильной версии:
- перелистывание слайдера должно работать по свайпу;
- перелистывание меняется, вместо шести элементов листоается по одному.
- заголовок,
- описание,
- табы с выбором языка\страны (переключение блоков табов должно быть плавным,
- аккордеон с возможностью выбора художественного деятеля,
- по клику на имя деятеля искусства слева меняется деятель.
- заголовок,
- карточки с фото и описанием события,
- кнопка "все события" - изначально событий должно быть шесть, три из них скрыты; по клику на кнопку показываем все события, кнопку скрываем.
В мобильной версии: события превращаются в слайдер с точками
- заголовок,
- категории - кастомные чекбоксы,
- инпуты ввода цены,
- слайдер изданий,
- само издание - фото, описание, кнопка "заказать" (без функционала).
В мобильной версии: категории становятся спойлером, слайдер превращается в обычные блоки.
- заголовок,
- описание (нужно также правильно реализовать тултипы - всплывающие подсказки),
- слайдер партнёров проекта, показываем по три элемента; по наведении логотипы должны становиться цветными.
- заголовок,
- адрес,
- форма обратной связи - валидация полей формы,
- ссылки на whatsApp и Telegram с возможностью перехода,
- карта - реализация черно-белой карты с цветным маркером, адрес маркера указан.
- Логотип.
- Соцсети 0 три ссылки: "ВКонтакте", Instagram, Facebook.
- Чистая, адаптивная, семантическая вёрстка.
- Пиксель-перфект вёрстка (под все разрешения). Возможны отличия на 1–3 пикселя.
- В каждом из браузеров должна открываться абсолютно идентичная вёрстка.
- Сайт проверен и в портретных, и в альбомных режимах. Весь контент должен быть доступен.
- БЭМ-именование классов.
- Минимум медиазапросов для реализации адаптива.
- Использование SVG-иконок.
- Удобный юзабилити для пользователя; все кнопки и ссылки явно дают понять, что на них можно кликнуть (имеют ховер-эффект) и курсор-лапку, также отменён outline, но заменён на всех кликабельных элементах на псевдокласс :focus.
- На мобильных устройствах ховеры не должны работать, вступает псевдокласс :active.
- Флексбокс-вёрстка, без использования фреймворков.
- Теги HTML- и CSS-документов должны быть валидными.
Эти задачи не являлись обязательными, но они все реализованы.
- Модальные окна:
- при открытии картин в Галереи в увеличенном виде с описанием;
- при отправке заявки.
- На мобильной версии скролл к деятелю искусства после его выбора (блок "Каталог").
- Отправка заявки на email - форма в блоке "Контакты".
- Смена фонового изображения на первом экране сайта.
- swiper.js https://swiperjs.com/
- jQuery accordion https://jqueryui.com/accordion/
- simplebar.js https://github.com/Grsmto/simplebar
- choices.js https://github.com/Choices-js/Choices
- just-validate.js https://github.com/horprogs/Just-validate
- inputmask.js https://github.com/RobinHerbots/Inputmask
- api-maps.yandex https://yandex.ru/dev/maps/jsapi/doc/2.1/quick-start/index.html?from=techmapsmain