Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 4.86 KB

README.md

File metadata and controls

37 lines (26 loc) · 4.86 KB

Задание 1

Мы хотим узнать, насколько хорошо вы применяете на практике языки HTML и CSS и разбираетесь в особенностях работы разных браузеров. Для этого мы предлагаем вам сверстать расписание лекций проекта «Мобилизация». В качестве примера можно использовать прошлогодние данные:

  • Школа разработки интерфейсов;
  • Школа мобильной разработки;
  • Школа мобильного дизайна.

Страница должна быть адаптирована для мобильных браузеров и работать в современных версиях Яндекс.Браузера, Google Chrome, Edge, Firefox, Safari и Opera. По возможности используйте приёмы постепенной деградации CSS. Помимо того, как вы оформите расписание, нам важно оценить, как вы организуете код и сможете оптимизировать результат.

В расписании нужно указать данные для всех трёх школ, а именно:

школу, для которой читается лекция (или несколько школ для общих лекций); тему лекции; имя лектора (должна быть возможность получить дополнительную информацию о лекторе, например во всплывающем окне); дату и место проведения лекции. Добавьте в программу 2–3 общие для всех школ лекции и также отобразите их в расписании. Лекции, которые уже прошли, должны быть помечены соответствующим образом. Для них должна быть доступна ссылка на материалы и видеозапись.

  • школу, для которой читается лекция (или несколько школ для общих лекций);
  • тему лекции;
  • имя лектора (должна быть возможность получить дополнительную информацию о лекторе, например во всплывающем окне);
  • дату и место проведения лекции.
  • Добавьте в программу 2–3 общие для всех школ лекции и также отобразите их в расписании. Лекции, которые уже прошли, должны быть помечены соответствующим образом. Для них должна быть доступна ссылка на материалы и видеозапись.

Решение

Так как цель данного задания проверить наши знания в HTML, CSS и дополнительно JS, то хотелось сделать решение, которое будет работать, если у человека отключен JS, а весь дополнительный функционал не влияющий на отображение с помощью JS. Исходя из этого информация о преподавателе была сделана с помощью псевдоселектора :target. А поиск по школам и закрытие диалогового окна в другой области экрана средствами JS.

Интерфейс построен с помощью спецификации Flexbox так как позволяет писать удобный код для современных устройств. Если для требуемого устройства данная спецификация не имеет поддержки, то можно подключить полифилл. Постепенная деградация CSS была реализована с помощью PostCSS и autoprefixer.

Также было замечено что браузер Edge не имеет поддержки встроенных в CSS inline SVG, поэтому данные иконки были подключены как статические файлы.

Дизайн был спроектирован исходя из следующих предположений:

  • Если лекция не была проведена, то мы должны видеть дату и место проведения
  • Если есть ссылка на запись, то мы должны акцентировать внимание на нее