Skip to content

baileys-li/nerds-27

Repository files navigation

Личный проект «Нёрдс»


Критерии

Базовые

1. Разметка

    • Выполнена HTML-разметка всех страниц и всех элементов на страницах.
    • К страницам подключён один стилевой файл (с учётом normalize.css к каждой странице могут быть подключены два стилевых файла).
    • Стилевой файл подключён внутри <head>.
    • Грубые ошибки в разметке отсутствуют.

2. Стилизация

    • Вся собственная стилизация выполнена в одном стилевом файле.
    • Раскладка блоков на странице сделана с помощью флексбоксов.
    • В CSS отсутствует !important.
    • Подключены правильные шрифты, их размеры, высота строк, цвет и толщина равны соответствующим параметрам в макетах и техническом задании.
    • Указаны альтернативные варианты шрифта и тип семейства в конце перечисления font-family.
    • При наполнении контентом (как в макете) элементы каждой страницы соответствуют макету.

3. Тестирование

    • Вёрстка идентично отображается в последних версиях браузеров Chrome, Firefox, Safari, Edge, Internet Explorer.
    • Сайт нормально смотрится на минимальной для макета ширине.

4.Разное

    • В корне проекта имеются папки css, img, js или аналогичные. Главная страница имеет название index.html. В названиях и расширениях файлов нет заглавных букв и пробелов, использованы только латинские символы.
    • Единообразное написание и форматирование кода в HTML, CSS и JavaScript.
    • Выбран подходящий формат изображений.
    • Проект соответствует техническому заданию

Дополнительные

1. Разметка

    • У всех изображений в теге <img> прописан размер.
    • Использовано минимально возможное количество HTML-элементов (нет лишних элементов).
    • Все скрипты подключены непосредственно перед </body>.
    • Названия полей форм привязаны к своим полям с помощью <label>.

2. Стилизация

    • Использован normalize.css.
    • Для стилизации не использованы #id.
    • Нет вложенности селекторов больше двух.
    • При использовании блочно-строчных элементов явно указывайте вертикальное выравнивание
    • Для CSS-свойств с префиксом указан вариант без префикса.
    • Для блока, у которого есть фоновое изображение, прописан фоновый цвет, который соответствует преобладающему цвету изображения (пока изображение не загружено, страница выглядит похоже на макет).
    • Все состояния элементов (смотрите styleguide.psd) прописаны в стилевом файле.
    • Стилизация нестандартных элементов форм.
    • Файл стилей представлен в двух вариантах: с форматированием и минимизированный.
    • Нет глобальных стилей тегов.

3. JavaScript

    • Собственные скрипты собраны в отдельном JavaScript-файле, который подключён в HTML перед закрывающим тегом body.
    • JavaScript-файл представлен в двух вариантах: с форматированием и минимизированный, к странице подключён минимизированный.
    • С помощью JavaScript реализовано открытие/закрытие окна с формой (без вспомогательных библиотек).
    • С помощью JavaScript добавлена анимация формы (без вспомогательных библиотек).
    • Добавлена интерактивная карта (допускается подключение с помощью iframe).

4.Тестирование

  • Вёрстка проходит тест на переполнение контентом.

5. Доступность

    • У интерактивных элементов при нажатии или фокусе с клавиатуры есть активное состояние.
    • Все интерактивные элементы имеют текстовое описание.
    • У контентных изображений в <img> заполнен alt.
    • Телефоны размечены ссылками с протоколом tel.

6. Разное

    • Критическая функциональность сайта работоспособна без JavaScript (использовано прогрессивное улучшение).
    • Отсутствует транслит в названиях классов, атрибутах, названиях файлов и так далее.
    • При взаимодействии с элементами (наведение, нажатие) ни сам элемент, ни окружающие его блоки не меняют своего положения (если иное не прописано в техническом задании или styleguide.psd).
    • Страницы должны ссылаться друг на друга из главного меню.

Дополнительные усложнения

Чтобы обучение было более продотворным я попробовал реализовать несколько практик, которые совсем не обязательны для сдачи, но будут полезны в будущем

  • Иконки собраны в SVG-спрайт. В начале страницы с display: none. Хорошей практикой было бы вынести их в отдельный файл, но тогда бы не было поддержки IE, а это обязательный критерий
  • Реализован слайдер на JS. Переключатели создаются динамически в зависмости от количества слайдов. Хотелось бы использовать <template>, но IE.
  • Price range. Минимальный функционал (ползунки двигаются и результат выводится в поля)
  • Небольшие эксперементы с Google Maps API.
  • Некоторые изображения которые в макете были представлены в растре, я отрисовал заново в векторе.
  • Появление модального окна дополнительно задано через :target. Fallback на случай отключения JS.
  • Проект свёрстан на Pug/Sass. Для простоты сборки использвалась програма Prepros.

HTML Academy

Репозиторий создан для обучения на профессиональном онлайн‑курсе «HTML и CSS, уровень 1» от HTML Academy.

Releases

No releases published

Packages

No packages published