======Адаптивная вёрстка сайта (теория и практика)====== Адаптивная верстка сайта (от английского, responsive web design, иногда — adaptive web design) — это создание структуры HTML-документа на базе HTML-разметки, предусматривающей автоматическую адаптацию веб-страницы в зависимости от размера экрана устройства пользователя. Иными словами - это макет веб-страницы, автоматически подстраивающийся под размер экрана разнообразных гаджетов пользователя, таких как планшеты и смартфоны. {{:software:development:demo:blender3d_demo_0.jpg?550 |}} В адаптивной вёрстка предполагается использование современных технологий, делающих основные элементы, изменяющими свой размер и расположение на странице, исходя из ширины окна. При этом отсутствуют и полосы прокрутки. Для просмотра контента достаточно просто листать страницы вниз. Для отображения на смартфонах и планшетах лишние элементы отсеивают: убирают графические объекты, сворачивают меню, оставляя только самые значимые блоки. Параллельно увеличивается размер элементов управления, чтобы нужную кнопку без труда можно было нажать пальцем, ведь на обычном сайте попасть по ссылке с первого раза удается не всегда. Все это достигается с помощью медиа-запросов, которые лежат в основе данной технологии, меняют масштаб элементов, а CSS свойства дают полную свободу действий, управляя компоновкой и расположением блоков на странице, автоматически преобразуя шаблон. Данная статья рассматривает применение адаптивной резиновой вёрстки при создании главной страницы. Основные примеры создания приведены в статье [[software:development:web:docs:learn:css:css_layout:responsive_design|Отзывчивый дизайн]]. =====Шаблон страницы при верстки===== Страница состоит из четырех основных блоков: Шапка сайта или хедер (от анг. header — заголовок) – это титульная верхняя часть страницы, в которой располагаются элементы навигации (nav или меню) и элементы, содержащие информацию о сайте, блок основного содержимого (main) и сайдбар (sidebar) — это боковая панель сайта, визуально разграниченная с контентом на странице. Благодаря ее блокам посетители понимают, что и где расположено на сайте. Ширина боковой панели обычно меньше ширины основного блока с контентом. подвал или футер (от анг. footer - нижний колонтитул) — блок в нижней части страницы. За основу преломления шаблона возьмём 768px и 480px. /* Устройства с очень маленьким экраном (смартфоны, меньше 768px) */ /* Стили CSS (по умолчанию) - для ширины viewport <768px */ /* Устроства с маленьким экраном (планшеты, 768px и выше) */ @media (min-width: 768px) { /* Стили для устройств с шириной viewport, находящейся в диапазоне 768px - 991px */ } /* Устройства со средним экраном (ноутбуки и компьютеры, 992px и выше) */ @media (min-width: 992px) { /* Стили для устройств с шириной viewport, находящейся в диапазоне 992px - 1199px */ } /* Устройства с большим экраном (компьютеры, 1200px и выше) */ @media (min-width: 1200px) { /* Стили для устройств с шириной viewport >1200px */ } =====Пример сайта===== Пример сайта выполненного в [[https://book51.ru/demo/code/blender3d_demo.html|адаптивной вёрстке]] можно посмотреть в разделе пример или перейдя по [[https://book51.ru/demo/code/blender3d_demo.html|ссылке]]. для понимания примера необходимо сузить просматриваемую страницу в браузере или просмотреть на компьютере и в браузере мобильного устройства. ====1. Блок ==== Добавим в блок %%%% (голова) запись кода приведенного ниже и открыв **"Пояснительную записку блока :"** разберем данный код: Responsive site layout #: Пояснительная записка блока : - **%%%%** - указания типа текущего документа (HTML5). - **%%%%** - открывающий тег, является началом блока (контейнера), который заключает в себе все содержимое веб-страницы. - **%%%%** - открывающий тег блока , содержащего машиночитаемую информацию (metadata). - **%%%%** - указывает кодировку документа. - **%%%%** - сообщение браузеру, что ширина страницы равна ширине устройства, с которого эта страница просматривается. (width(ширина сайта) = device-width(ширина устройства) и масштаб: 1). - **%%Responsive site layout%%** - заголовок страницы на вкладке браузера. - **%%%%** - иконка страницы на вкладке браузера. - **%%%%** - подключение библиотеки векторных иконок. - **%%%%** - подключение библиотеки векторных иконок. - **%%%%** - подключение внешней **таблицы стилей CSS** описанный ниже. - **%%%%** - подключение библиотеки с набором функций **JavaScript**, фокусирующийся на взаимодействии JavaScript и HTML. (min - минимальный набор функций). - **%%%%** - подключение плагина **prefixfree**, дающего возможность исключать префиксы, у свойств таблицы CSS, которые еще не до конца стандартизированы. - **%%%%** - закрывающий тег блока. :# ====2. Блок header==== В блок заголовка
запишем следующие элементы блоков (контейнеров): логотип, кнопки меню и поиска по сайту, и открыв "Пояснительную записку блока
" разберем данный код:
#:Пояснительную записку блока
- **%%
%%** - открывающий тег блока. - **%%%%** - конец нашего блока колонтитула. - **%%
%%** - закрывающий тег блока. :# ====3. Блок main ==== В данный блок поместим предварительное содержимое анонса статей и открыв "Пояснительную записку блока main" разберем данный код:

Blender 3.6 LTS

Blender 3D program Blender is one of the most popular 3D modeling software. This is a multifunctional software, acquaintance with which will be useful for those who are interested in 3d graphics and who want to understand the basic principles of this industry.

Spring

Is the story of a shepherdess and her dog who encounter ancient spirits in order to continue the cycle of life..

#:Пояснительная записка блока main: - **%%%%** - начало блока хранения содержания веб-страницы (контента). - **%%
%%** - начало контейнера контента веб страницы. - **%%
%%** - начало контейнера с анонсом статей. - **%%
%%** - начало контейнера с анонсом 1й статьи. - **%%
%%** - блок вставки картинки с указанием месторасположения файла. - **%%
%%** - начало блока текстовой информации 1й статьи. - **%%%%** - блок указания категории 1й статьи. - **%%

Blender 3.6 LTS

%%** - блок заголовка 1й статьи. - **%%

%%**Blender 3D program Blender is one of the most popular 3D modeling software. This is a multifunctional software, acquaintance with which will be useful for those who are interested in 3d graphics and who want to understand the basic principles of this industry. - **%%

%%** - блок текста 1й статьи. - **%%%%** - конец блока "Читать далее" 1й статьи. - **%%
%%** - конец блока текстовой информации 1й статьи. - **%%
%%** - конец контейнера с анонсом 1й статьи. - **%%
%%** - начало контейнера с анонсом 2й статьи. - **%%
%%** - начало блока вставки видеофайла с указанием месторасположения. - **%%%%** - закрывающий тег вставки видеофайла. - **%%
%%** - конец блока вставки видеофайла с указанием месторасположения. - **%%
%%** - начало блока текстовой информации 2й статьи. - **%%%%** - блок указания категории 2й статьи. - **%%

Spring

%%** - блок заголовка 2й статьи. - **%%

%%**Is the story of a shepherdess and her dog who encounter ancient spirits in order to continue the cycle of life.**%%

%%** - блок текста 2й статьи. - **%%%%** - конец блока "Читать далее" 2й статьи. - **%%
%%** - конец блока текстовой информации 2й статьи. - **%%
%%** - конец контейнера с анонсом 2й статьи. - **%%
%%** - конец контейнера с анонсом статей. :# ====4. Блок
#:«Пояснительная записка блока
%%** - конец контейнера всего контента веб страницы. :# ====5. Блок