Адаптивная верстка

Софья Лапшина

Адаптивная верстка

или нормально делай, нормально будет

Фиксированная сетка

Фиксированная верстка

Фиксированная сетка. Маленький экран

Фиксированная верстка

Резиновая сетка

  1. Резиновая сетка
Боль и страдание

Каждому сетку по потребностям!

Мобильная сетка

Медиавыражение

@media (...) and (...) {
			.container {
				width: 500px;
				background-color: #ffffff;
			}
		}

Медиавыражение. Условия.

Read: Using media queries (MDN)
Читать

Медиавыражение. Условия.

Вьюпорт

viewport

Вьюпорт

Видимая область страницы в браузере, окно браузера включая полосу прокрутки. Относительно вьюпорта рассчитываются размеры тега и относительные размеры его потомков.

Два вьюпорта на мобильном

Два вьюпорта

Сеточный вьюпорт

Сеточный вьюпорт

Визуальный вьюпорт

Сеточный вьюпорт

Решение проблемы

< meta name="viewport" content="width=device-width,initial-scale=1" >

meta name="viewport" content=

Подробнее про вьюпорты

Адаптивная графика

Экранные пиксели и CSS-пиксели

Пиксели

Экраны с повышенной плотность пикселей

Количество физический пикселей больше, чем у обычного экрана, а сами пиксели меньше

Два экрана

Где ретина?

Найди ретину

Где ретина?

Найди ретину

Где ретина?

Найди ретину

Где ретина?

Найди ретину

Где ретина?

Найди ретину

Где ретина?

Найди ретину

Проблемы с графикой на ретине

Графику для ретина-экранов надо специальным образом подготавливать, чтобы изображения не были "замыленными"

Определение ретина-экрана


@media (min-resolution: 144dpi),
		(min-resolution: 1.5dppx) {...}
		

Содержание для ретинизации

Текст

С текстом проблем нет. Старайтесь по-максимуму использовать текст там, где это можно

Растровая графика

Ретина и фоновые изображения

Ретина в лоб

Ретина и фоновые изображения

Ретина в лоб

Ретина и растовые < img >

Плохой вариант

Ретина и растовые < img >

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

Хороший вариант

Оптимизация растровых изображений

Векторная графика

Ретина и векторная графика

Сводка по ретинизации

Как сделать < img > адаптивным?

С помощью новых атрибутов srcset и тега-обёртки < picture >.

Тег < picture > в сочетании с новыми атрибутами определяет умные настройки, подменяя src у < img >, когда это необходимо. Он даёт возможность разработчику передать браузеру информацию, необходимую для выбора подходящей картинки.

Браузер выбирает картинку

Время для игр

Выбери что загрузить

Выбери изображение

Выбери что загрузить

Выбери изображение

Выбери что загрузить

Выбери изображение

Выбери что загрузить

Выбери изображение

Выбери что загрузить

Выбери изображение

Выбери что загрузить

Выбери изображение

Выбери что загрузить

Выбери изображение

Назначение srcset

Кадрирование изображений

Кадрирование изображений
Время для игр

Выбери что загрузить 2

Выбери изображение

Выбери что загрузить 2

Выбери изображение

Выбери что загрузить 2

Выбери изображение

Выбери что загрузить 2

Выбери изображение

Выбери что загрузить 2

Выбери изображение

Выбери что загрузить 2

Выбери изображение

Выбери что загрузить 2

Выбери изображение

Выбери что загрузить 2

Выбери изображение

Выбери что загрузить 2. Бонус

Выбери изображение

Выбери что загрузить 2. Бонус

Выбери изображение

Выбери что загрузить 2. Бонус

Выбери изображение

Назначение тега source

Поддержка < picture > и полифил

Конец

ССЫЛОЧКИ!!!11!!

prosto-lapsha.github.io/adaptive-slides/

Shower logo See more on GitHub