1. Flexbox — модель CSS для гибкого расположения элементов преимущественно вдоль одной оси. Свойство display: flex активирует эту модель. Свойство justify-content управляет распределением элементов по основной оси, а align-items — их выравниванием по поперечной оси. Flexbox часто используется для создания меню, панелей и групп элементов интерфейса.

 

2. Свойство flex-wrap определяет возможность переноса элементов на новую строку или колонку, когда они не помещаются в контейнер. Например, значение wrap разрешает перенос. Свойство gap задаёт расстояние между элементами. Дополнительно свойства flex-grow, flex-shrink и flex-basis управляют распределением свободного пространства и размерами элементов.

 

3. CSS Grid — модель компоновки, позволяющая размещать элементы по строкам и столбцам. Она подходит для создания двухмерных сеток, например каталога учебных курсов. Flexbox удобен для размещения элементов преимущественно по одной оси, а Grid — для управления строками и столбцами одновременно. В CSS Grid используются свойства grid-template-columns, grid-template-rows и gap.

 

4. Медиазапросы @media позволяют применять разные CSS-правила в зависимости от характеристик устройства или области просмотра. Например, при небольшой ширине экрана можно изменить количество столбцов, размеры текста или расположение меню. Это помогает сделать веб-страницу удобной для компьютеров, планшетов и смартфонов.

 

5. Для адаптивного дизайна используются относительные единицы измерения %, rem, vw, а также функции min(), max() и clamp(). Свойство max-width: 100% помогает изображениям не выходить за пределы контейнера. Адаптивность проверяют на узких и широких экранах, при увеличении текста и в разных ориентациях устройства. Важно убедиться, что меню доступно, текст читается, элементы не перекрываются и не появляется нежелательная горизонтальная прокрутка.