Лабораторная работа №13: Адаптивная верстка: от мобильного до десктопа

Специальность 09.02.09 Веб-разработка | Квалификация: Разработчик Веб-приложений

Цель работы

Научиться создавать адаптивный интерфейс, который корректно отображается на устройствах с разными размерами экрана.

Теоретическая часть

Адаптивная верстка — это подход к веб-дизайну, при котором веб-страница автоматически подстраивается под размер экрана устройства. Основные понятия:

Пример медиа-запроса:

@media (max-width: 768px) { /* Стили для планшетов */ } @media (max-width: 576px) { /* Стили для мобильных устройств */ }

Bootstrap 5 использует 6 точек останова (breakpoints) для адаптивности:

В этой лабораторной работе мы сделаем сайт "Языковой портал" полностью адаптивным для всех типов устройств.

Задание

Настроить отображение сайта на разных устройствах с использованием медиа-запросов и сетки Bootstrap 5.

Пошаговая инструкция

Добавьте viewport метатег

Убедитесь, что в файле public/index.html есть следующий метатег:

Этот тег сообщает браузеру, что ширина области просмотра равна ширине устройства и отключает автоматическое масштабирование.

Используйте адаптивные классы Bootstrap

Измените сетку на главной странице, используя адаптивные классы:

✅ Квалифицированные преподаватели

Многие из них имеют опыт работы за рубежом или являются носителями языка.

✅ Удобный график

Занятия в группах с комфортной наполняемостью (6-8 человек) или индивидуально.

✅ Гибкие скидки

Отсутствие скрытых платежей, гибкая система скидок.

Класс col-md-4 означает, что на средних и больших экранах (ширина ≥768px) элементы будут занимать 4 колонки из 12, а на мобильных устройствах — всю ширину.

Создайте кастомные медиа-запросы

Создайте файл src/index.css и добавьте адаптивные стили:

/* Стили для мобильных устройств */ @media (max-width: 576px) { .hero-section { padding: 2rem 1rem; } .hero-section h1 { font-size: 1.8rem; } .testimonial-slider .blockquote { font-size: 0.9rem; } .course-card .card-img-top { height: 150px; object-fit: cover; } } /* Стили для планшетов */ @media (min-width: 576px) and (max-width: 992px) { .hero-section { padding: 3rem 2rem; } .hero-section h1 { font-size: 2.2rem; } } /* Стили для больших экранов */ @media (min-width: 1200px) { .container { max-width: 1140px; } }
Импортируйте кастомные стили

Добавьте импорт в файл src/index.js:

// Добавьте после импортов Bootstrap import './index.css';
Настройте адаптивный навбар

Убедитесь, что навбар правильно сворачивается на мобильных устройствах:

Сделайте слайдер отзывов адаптивным

Обновите компонент TestimonialSlider для адаптивности:

{testimonials[currentIndex].text}

{testimonials[currentIndex].author}
Проверьте адаптивность

Запустите проект и используйте инструменты разработчика в браузере для проверки адаптивности:

  1. Нажмите F12 или Ctrl+Shift+I для открытия инструментов разработчика
  2. Нажмите на иконку "Toggle device toolbar" (или Ctrl+Shift+M)
  3. Протестируйте сайт на разных размерах экрана (мобильный, планшет, десктоп)
  4. Проверьте, как изменяется расположение элементов
  5. Убедитесь, что текст читаем, кнопки нажимаемы, изображения не обрезаны

Если сайт корректно отображается на всех размерах экрана, значит, адаптивная верстка реализована верно.

Пример адаптивной верстки
Пример адаптивного дизайна для мобильного, планшета и десктопа

Критерии оценки

Критерий Баллы
Использованы медиа-запросы 3
Корректная адаптация для мобильных 3
Корректная адаптация для планшетов 2
Корректная адаптация для десктопов 2
Итого 10

Связь с демонстрационным экзаменом

Эта лабораторная работа связана с профессиональной компетенцией:

На демонстрационном экзамене вам потребуется создать адаптивный интерфейс веб-ресурса, что оценивается в 12 баллов из 80.

Согласно документу КОД 09.02.09-1-2025, на экзамене оценивается:

Также в задании ДЭ ПУ указано требование: "Заказчик хочет, чтобы сайт был современный и энергичный, а также удобный, простой и не менял свои качества при различных разрешениях экрана."