Содержание

Синонимы к слову «Отзывчивый»

духовный

абстрактный,…

[Подробнее]

важный

авантажный, авторитетный,…

[Подробнее]

красивый

авантажный, бесподобный,…

[Подробнее]

внушительный

авантажный, большой, велий,…

[Подробнее]

сильный

авторитетный,…

[Подробнее]

родственный

агнатический, агнатный,…

[Подробнее]

тонкий

ажурный, бережный, высокий,…

[Подробнее]

значительный

актуальный, большой,…

[Подробнее]

острый

актуальный, востренький,…

[Подробнее]

любовный

альковный, амурный,…

[Подробнее]

человеколюбивый

альтруистический,…

[Подробнее]

романический

амурный, любовный,…

[Подробнее]

близкий

аналогический,…

[Подробнее]

мягкий

ангельский, бархатистый,…

[Подробнее]

кроткий

ангельский, безгласный,…

[Подробнее]

беззлобный

ангельский, благодушный,…

[Подробнее]

знатный

аристократический,…

[Подробнее]

мастерский

артистический,…

[Подробнее]

большой

аршинный, безмерный,…

[Подробнее]

блестящий

атласистый, атласный,…

[Подробнее]

настоящий

аутентический,…

[Подробнее]

отличный

балдежный, великолепный,…

[Подробнее]

классный

балдежный,…

[Подробнее]

нежный

бархатистый, бархатный,…

[Подробнее]

внимательный

бдительный, бережный,…

[Подробнее]

сердешный

бедный, бедняга, бедняжка,…

[Подробнее]

справный

безбедный, богатый,…

[Подробнее]

достаточный

безбедный, веский,…

[Подробнее]

безукоризненный

безгрешный, безошибочный,…

[Подробнее]

стоящий

бездействующий, важнецкий,…

[Подробнее]

благодушный

беззаботный, беззлобный,…

[Подробнее]

незлобивый

беззлобный, благодушный,…

[Подробнее]

добродушный

беззлобный, благодушный,…

[Подробнее]

незлобный

беззлобный, кроткий,…

[Подробнее]

незлой

беззлобный, мягкий,…

[Подробнее]

погожий

безоблачный,…

[Подробнее]

райский

безоблачный, блаженный,…

[Подробнее]

жалостный

безотрадный, жалкий,…

[Подробнее]

жалостливый

безотрадный, жалостный,…

[Подробнее]

правильный

безошибочный,…

[Подробнее]

идеальный

безукоризненный,…

[Подробнее]

примерный

безукоризненный,…

[Подробнее]

безупречный

безукоризненный,…

[Подробнее]

психический

безумец, духовный,…

[Подробнее]

цветущий

безупречный,…

[Подробнее]

прекрасный

бесподобный, благолепный,…

[Подробнее]

мировой

бесподобный, важнецкий,…

[Подробнее]

чудный

бесподобный, великолепный,…

[Подробнее]

простодушный

бесхитростный, добрый,…

[Подробнее]

почтительный

благовейный,…

[Подробнее]

пригожий

благовидный, благолепие,…

[Подробнее]

приличный

благовидный, благолепный,…

[Подробнее]

предупредительный

благовоспитанный,…

[Подробнее]

полезный

благодатный,…

[Подробнее]

доброжелательный

благожелательный,…

[Подробнее]

благосклонный

благожелательный,…

[Подробнее]

доброхотный

благожелательный,…

[Подробнее]

благорасположенный

благожелательный,…

[Подробнее]

приветливый

благожелательный,…

[Подробнее]

удачный

благополучный, блестящий,…

[Подробнее]

подходящий

благоприятный, близящийся,…

[Подробнее]

удобный

благоприятный, выигрышный,…

[Подробнее]

благожелательный

благорасположенный,…

[Подробнее]

порядочный

благородный, большой,…

[Подробнее]

ласковый

благосклонный,…

[Подробнее]

приятный

благостный, вкусный,…

[Подробнее]

закадычный

ближайший, близкий,…

[Подробнее]

задушевный

близкий, душевный,…

[Подробнее]

щедрый

богатый, великодушный,…

[Подробнее]

заметный

большой, броский, видимый,…

[Подробнее]

ощутительный

большой, внушительный,…

[Подробнее]

осязательный

большой, внушительный,…

[Подробнее]

изрядный

большой, внушительный,…

[Подробнее]

хоть куда

важнецки, важнецкий, важно,…

[Подробнее]

славный

важнецкий, важный, великий,…

[Подробнее]

неплохой

важнецкий, важный, добрый,…

[Подробнее]

ладный

важнецкий, гармонический,…

[Подробнее]

недурной

важнецкий, добрый,…

[Подробнее]

недурственный

важнецкий, добрый,…

[Подробнее]

важнецкий

важный, добрый, ладный,…

[Подробнее]

уважительный

вежливый, галантный,…

[Подробнее]

деликатный

вежливый, галантный,…

[Подробнее]

фартовый

везучий, замечательный,…

[Подробнее]

отменный

великолепный,…

[Подробнее]

превосходный

великолепный,…

[Подробнее]

достойный

величественный,…

[Подробнее]

отрадный

веселый, жизнерадостный,…

[Подробнее]

ощутимый

весомый, впечатляющий,…

[Подробнее]

бдительный

внимательный, всевидящий,…

[Подробнее]

моральный

внутренний,…

[Подробнее]

эмоциональный

возбудимый,…

[Подробнее]

мил-сердечный

возлюбленный, желанный,…

[Подробнее]

ранимый

восприимчивый,…

[Подробнее]

симпатический

восприимчивый,…

[Подробнее]

впечатлительный

восприимчивый,…

[Подробнее]

осязаемый

воспринимаемый,…

[Подробнее]

сенсорный

воспринимающий,…

[Подробнее]

восприимчивый

впечатлительный,…

[Подробнее]

благоприятный

выгодный, выигрышный,…

[Подробнее]

положительный

выгодный, конкретный,…

[Подробнее]

Изучить отзывчивый веб-дизайн за 5 минут / Хабр

Привет, Хабр! Представляю вашему вниманию перевод статьи «Learn responsive web design in 5 minutes» автора Per.

В этой статье я научу вас многим приёмам отзывчивого дизайна за 5 минут. Этого, очевидно, недостаточно для правильного изучения, но здесь вы найдёте обзор на следующие наиболее важные методы:

  • Относительные единицы измерения CSS
  • Медиа-запросы
  • Flexbox
  • Отзывчивая типографика

Относительные единицы измерения CSS


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

Самые распространённые относительные единицы измерения:


В этом пункте мы начнём с процента % как единицы измерения, а затем в последнем разделе рассмотрим единицу rem.

Допустим, у нас есть очень простой сайт как тот, что ниже:

Его HTML-код следующий:

<body>
    <h2>Welcome to my website</h2>
    <image src="path/to/img.png">
</body>

Как вы можете понять из GIF ниже, наше изображение по умолчанию будет иметь фиксированную ширину:

Изображение не особенно отзывчиво, поэтому давайте изменим ширину на 70%. Мы просто пропишем следующее:

.myImg {
    width: 70%;
}

Это устанавливает ширину изображения равной 70% от ширины исходного элемента, который прописан в теге . Поскольку тег охватывает всю ширину экрана, изображение всегда будет составлять 70% самого окна браузера.

Вот результат:

Вот так легко создать отзывчивое изображение.

Использование медиа-запросов для улучшения мобильной версии сайта


У нас есть одна проблема с нашей отзывчивой версткой – она выглядит странно на очень маленьких экранах. Равная 70% ширина должна уменьшаться при просмотре на мобильном телефоне. Просто сами взгляните:

Сделать так, чтобы изображение выглядело лучше в таком случае – задача как раз для медиа-запросов. Они позволяют применять различные стили, например, в зависимости от ширины экрана. Мы можем прописать, что если ширина экрана меньше 768px, то нужно использовать другой стиль.

Вот как мы создаем медиа-запрос в CSS:

@media (max-width: 768px) {
    .myImage {
        width: 100%
    }
}

Этот блок CSS будет применяться только в том случае, если ширина экрана меньше 768 пикселей.

Вот результат:

Как видите, страница имеет breakpoint (контрольную точку), где изображение становится шире: когда окно браузера имеет ширину 768px, ширина изображения меняется с 70% на 100%.

Навигационное меню с использованием Flexbox


Далее идёт Flexbox. Вы просто не сможете понять отзывчивость, не познакомившись с Flexbox. Когда Flexbox был представлен несколько лет назад, он изменил отзывчивый дизайн, поскольку данный модуль много облегчает расположение элементов вдоль оси.

Чтобы использовать Flexbox, мы сделаем наш сайт немного сложнее, добавив навигационное меню над заголовком. Вот HTML-код для этого:

<nav>
    <a href="#">Home</a>
    <a href="#">About me</a>
    <a href="#">Contact</a>
</nav>

По умолчанию это будет выглядеть как-то так:

Наши элементы меню сдвинуты в левую сторону, но это не то, что нам нужно. Мы хотим, чтобы они были равномерно выровнены по ширине страницы.

Для этого мы просто превратим контейнер в flexbox, а затем применим магическое свойство justify-content.

nav {
    display: flex;
    justify-content: space-around;
}

Разберёмся. Display: flex превращает в flexible box (гибкий контейнер). Justify-content: space-around сообщает браузеру, что элементы внутри гибкого контейнера должны иметь вокруг себя пространство. Так браузер равномерно распределяет всё оставшееся вокруг трёх элементов пространство.

Вот как это выглядит. И, как вы можете заметить, сайт хорошо масштабируется:

Отзывчивая типографика: rem


Последний шаг – сделать нашу типографику отзывчивой. Видите ли, я хочу, чтобы навигационное меню и заголовок немного уменьшались в размерах, когда ширина экрана меньше 768px (наша контрольная точка, помните?).

Один из способов это сделать – уменьшить размер шрифта в медиа-запросе, например, следующим образом:

@media (max-width: 768px) {
    nav {
        font-size: 14px;
    }
    h2 {
        font-size: 28px;
    }
}

Вышло далеко не идеально. В приложении может быть несколько контрольных точек и множество элементов (h3, h4, параграфы и так далее). В результате нам придётся отслеживать все элементы во всех различных брейкпоинтах. Нетрудно догадаться, что это создаст некоторую путаницу.

Однако, скорее всего, они будут относиться друг с другом более или менее одинаково на разных контрольных точках. К примеру, h2 всегда будет больше параграфа.

Что, если бы был способ, позволяющий настроить один элемент, а затем сделать так, чтобы остальные размеры шрифта масштабировались относительно этого элемента?

Введите rem!

Rem в основном означает значение размера шрифта, которое вы установили для своего элемента. Типа следующего:

html {
    font-size: 14px;
}</source
Так, в этом документе один rem равен 14px. 

Это означает, что мы можем установить все размеры шрифта на нашем сайте в единицах rem. Например:

<source lang="xml">h2 {
    font-size: 2rem;
}

nav {
    font-size: 1rem;
}

И тогда мы просто изменим значение размера шрифта для тега внутри нашего медиа-запроса. Это обеспечит изменение размера шрифта для наших элементов h2 и nav.

Вот как мы изменяем значение rem в медиа-запросе:

@media (max-width: 768px) {
    html {
        font-size: 14px
    }
}

И точно так же у нас есть контрольная точка для всех наших размеров шрифта. Обратите внимание на то, как изменяется размер шрифта, когда страница пересекает 768-пиксельную метку:

Вы научились настраивать размеры шрифтов, изображений и навигационного меню, чтобы они реагировали на ширину страницы, всего за каких-то 5 минут. Это замечательно, ведь вы уже сделали первые шаги к овладению очень ценными навыками создания отзывчивых веб-сайтов.

Удачного кодинга!

Отзывчивый дизайн сайта

Интернет-пользователи просматривают сайты на разных устройствах с экранами различных размеров. Размеры экранов постоянно меняются, поэтому важно чтобы сайт адаптировался к любому из них. Существует два основных подхода для создания сайтов, легко адаптирующихся для разных типов устройств:

Responsive Design (RWD) — отзывчивый дизайн — проектирование сайта с определенными значениями свойств, например, гибкая сетка макета, которые позволяют одному макету работать на разных устройствах;

Adaptive Design (AWD) — адаптивный дизайн, или динамический показ — проектирование сайта с условиями, которые изменяются в зависимости от устройства, базируясь на нескольких макетах фиксированной ширины.

1. Приемы отзывчивого дизайна

Философия отзывчивого веб-дизайна заключается в том, что сайт был удобным для просмотра с любого устройства, независимо от размера экрана. Фраза отзывчивый дизайн была придумана Ethan Marcotte в 2011 году. Главная особенность отзывчивого веб-дизайна — за счёт подвижной (fluid) сетки макет автоматически реагирует на изменение размеров экрана, раздуваясь или сужаясь, как воздушный шар.

Отзывчивый дизайн (англ. Responsive Web Design) объединяет в себе три методики — гибкий макет на основе сетки, гибкие изображения и медиазапросы.

Гибкость макета базируется на использовании относительных единиц измерения вместо фиксированных пиксельных значений, что позволяет регулировать ширину в соответствии с доступным пространством.

Гибкость текстового содержимого достигается путем вычисления размеров шрифта относительно размера шрифта в браузерах по умолчанию 16px, например для фиксированного размера

font-size: 42px относительный размер равен 42px / 16px = 2.625em.

Проблема гибких изображений решается с помощью правила img {width: 100%; max-width: 100%;} для всех картинок на сайте. Это правило гарантирует, что изображения никогда не будут шире, чем их контейнеры и никогда не превысят своих истинных размеров на больших экранах.

Медиазапросы изменяют стили на основании характеристик устройства, связанных с отображением контента, включая тип, ширину, высоту, ориентацию и разрешение экрана. С помощью медиазапросов создается отзывчивый дизайн, в котором к каждому размеру экрана применяются подходящие стили.

Рис. 1. Отзывчивый дизайн
Дополнительные приёмы отзывчивого дизайна

Масштабируемая векторная графика

— используйте svg-изображения, которые масштабируются до любого размера без потери качества и хорошо выглядят на дисплеях Retina.

Карточные интерфейсы — используйте так называемые карточные интерфейсы — прямоугольные фигуры с закруглёнными углами, которые представляют собой контейнеры для контента. Такие блоки являются самодостаточными единицами интерфейса и их легко перемещать по макету.

Рис. 2. Pinterest, макет на основе карт

Оставьте только самое необходимое — хороший приём, особенно для отзывчивого дизайна. Создавайте отзывчивые и дружелюбные минималистические интерфейсы, которые приобретают всё большую популярность в настоящее время.

Рис. 3. Hotellook, минимализм в веб-дизайне

Расставьте приоритеты и правильно скройте контент — используйте скрытые элементы управления, особенно для устройств с небольшими экранами. Всплывающие окна, табы, off-canvas меню и другие подобные приёмы помогут уменьшить количество элементов на странице. Освободив пространство от лишних элементов, вы сделаете интерфейс удобным и дружелюбным для пользователя.

Создайте большое кликабельное пространство для кнопок — чем больше активная область кнопки, тем легче пользователю взаимодействовать с ней.

Добавьте интерактивности в свои интерфейсы — в ответ на действие пользователя создайте ответное действие — анимацию, которая будет работать при наведении на элемент на десктопных устройствах и при прикосновении к элементу на мобильных устройствах.

2. Настройка области просмотра с помощью мета-тега viewport

Чтобы мобильные браузеры для операционных систем Android и iOS не изменяли автоматически размер страниц сайта, используется специальный тег <meta> с атрибутом name="viewport". В данном теге допускается устанавливать определенное значение для параметров width и initial-scale:

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

initial-scale=1 говорит о том, что размер страницы в браузере будет равен 100% величины области просмотра. То есть, соотношение между физическим пикселем и css пикселем будет 1:1;

width=device-width говорит о том, что ширина страницы будет равна 100% ширины окна любого браузера. То есть, ширина страницы сайта соответствует ширине устройства, поэтому её не надо масштабировать.

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

В данном примере содержимое в окне браузера будет в 2 раза больше по сравнению с физическим размером.

Также тег <meta> можно использовать для контроля над тем, насколько пользователи могут увеличивать и уменьшать ширину страницы:

<meta name="viewport" content="width=device-width, maximum-scale=3, minimum-scale=0.5">

Данный код позволит увеличивать ширину страницы до величины, равной 3-х кратной ширине экрана устройства и уменьшать её до половины ширины экрана устройства.

Лишить пользователей возможности масштабирования можно с помощью атрибута user-scalable:

<meta name="viewport" content="initial-scale=1.0, user-scalable=no">

3. Универсальные шаблоны

Большая часть макетов, используемых для создания отзывчивого веб-дизайна, относятся к одной из пяти категорий шаблонов, определенных Люком Вроблевски:
Mostly Fluid (Наиболее резиновый),
Column Drop (Столбцы друг под другом),
Layout Shifter (Двигающийся макет),
Tiny Tweaks (Крошечные изменения),
Off Canvas (Вне экрана).
В некоторых случаях на странице может использоваться сочетание шаблонов, например Column Drop и Off Canvas.

3.1. Mostly Fluid

Популярный макет,  состоит главным образом из резиновой сетки. На экранах большой или средней ширины ее размер обычно остается неизменным, на больших экранах регулируются только поля. На небольших экранах резиновая сетка вызывает перерасчет макета для основного контента, а столбцы размещаются друг под другом. Достоинством шаблона является то, что в нем необходима только одна контрольная точка между небольшими экранами и экранами большого размера.

3.2. Column Drop

Столбцы размещаются один за одним по вертикали, если ширина окна не может отобразить весь контент. В результате столбцы будут располагаться вертикально друг под другом. Выбор контрольных точек для этого шаблона макета зависит от контента и определяется для каждого варианта дизайна отдельно.

3.3. Layout Shifter

Наиболее отзывчивый шаблон, так как в нем предусмотрено наличие нескольких контрольных точек для экранов различной ширины. Основным отличием этого макета является то, что вместо перерасчета дерева отрисовки и размещения столбцов друг под другом перемещается контент. Из-за значительных различий между основными контрольными точками, поддержка этого макета является более сложной задачей, кроме того, вероятно, придется менять не только общий макет контента, но и его элементы.

3.4. Tiny Tweaks

Шаблон вносит небольшие изменения в макет, например, регулирует размер шрифта, меняет размер изображений или перемещает контент. Он хорошо работает на макетах, состоящих из одного столбца, например, одностраничные сайты и статьи с большим количеством текста.

3.5. Off Canvas

Контент, который используется редко, например, элементы навигации или меню приложения, размещаются за пределами экрана, и показываются только тогда, когда это позволяет сделать размер экрана. На небольших экранах контент открывается одним щелчком.

4. Адаптивный дизайн

В отличие от отзывчивого дизайна, адаптивный дизайн (Adaptive Web Design) ориентируется на размеры устройств. Он использует несколько статичных макетов для разных типов устройств (мобильные устройства, планшеты, настольные компьютеры), базируясь на контрольных (переломных) точках. То есть макеты загружаются при определенных размерах окна браузера устройства, а переходы между макетами происходят скачкообразно, а не плавно.

Обычно адаптивные макеты имеют шесть вариантов макетов в зависимости от ширины экрана:
320
480
760
960
1200
1600.

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

Основные приёмы адаптивного дизайна

Придерживайтесь последовательности — любой сайт должен создать доверительные отношения с пользователем, чтобы он чувствовал себя комфортно при навигации и взаимодействии с ним. Последовательный дизайн подразумевает, что при переходе на другую страницу сайта у пользователя не возникло чувства, что он попал на другой сайт. Уделяйте внимание мелким деталям, выстраивайте визуальную иерархию, важные элементы выделяйте жирным начертанием. Используйте последовательную цветовую схему по всему сайту, повторно используйте одни и те же элементы для различных ситуаций, например, один и тот же дизайн всплывающих уведомлений.

Используйте сетку — структура из 12-ти колонок является более предпочтительной для управления шириной колонок и отступами между ними.

5. В чём разница между отзывчивым и адаптивным веб-дизайном

Рис. 4. Отзывчивый и адаптивный дизайн на разных устройствах

Для создания отзывчивых макетов используются медиазапросы и относительные размеры элементов сетки, заданные с помощью %. В адаптивном дизайне серверные скрипты сначала определяют тип устройства, с помощью которого пользователь пытается получить доступ к сайту (настольный ПК, телефон или планшет), затем загружает именно ту версию страницы, которая наиболее оптимизирована для него. Для элементов сетки задаются фиксированные pxразмеры.

Поэтому основное отличие между этими приёмами — отзывчивый дизайн — один макет для всех устройств, адаптивный дизайн — один макет для каждого вида устройства.

6. Полезные сервисы и инструменты

Android SDK Android-эмулятор для Windows, Linux и Mac OS X. iOS-симулятор доступен только для пользователей Mac OS X и является частью пакета Xcode (его можно бесплатно скачать из Mac App Store).

Adaptive Images PHP-скрипт, работающий на любом веб-сайте, определяет размер экрана и подгоняет под него размер изображения, что в итоге дает малый размер изображения на малых экранах.

Mydevice.io Таблицы соответствия физических размеров устройств css-значениям высоты и ширины, а также значение pixel-ratio для мобильных устройств.

Mediaqueri.es Коллекция веб-сайтов, использующих медиазапросы и отзывчивый веб-дизайн.

Skeleton CSS-фреймворк на основе 12-ти колоночной разметки, максимум 960px. Поддерживается Chrome, Safari, Firefox, IE 7 и выше, мобильными версиями браузеров.

Bootstrap Набор инструментов для разработки веб-приложений. Язык LESS, 12-ти колоночная адаптивная разметка, поддержка мобильных устройств, планшетов и мониторов, множество компонентов, кнопок, выпадающие меню, собственный стиль полей ввода, списков, заголовков, меток, иконок, алерты, табы, прогресс-бары, всплывающие подсказки, «аккордеон», «карусель», и так далее, различные Javascript-плагины, поддержка Scaffolding, в том числе применение Bootstrap-стиля к уже созданным HTML.

Синонимы к слову «отзывчивый» — 🦉 подбор синонимов онлайн

внимательный (прилагательное)

Синонимы:
заботливый.

чуткий (прилагательное)

Синонимы:
чувствительный, восприимчивый.

участливый (прилагательное)

Синонимы:
сочувственный, полный сочувствия.

добрый (прилагательное)

Синонимы:
приятный, симпатичный, славный.

мягкосердечный (прилагательное)

Синонимы:
благожелательный, добродушный, добросердечный, благосклонный, благодушный.

сочувствующий (причастие)

душевный (прилагательное)

Синонимы:
сердечный.

реагирующий (причастие)

Синонимы:
отвечающий, поддерживающий.

гуманный (прилагательное)

Синонимы:
человечный.

сострадательный (прилагательное)

Синонимы:
милостивый.

Синонимы к слову

отзывчивый и близкие по значению слова

сочувственно, сочувствовать, сочувствие,

Что такое отзывчивый дизайн? — CloudMakers

Отзывчивый дизайн радикально изменил то, как мы потребляем контент в Интернете. Это ваше введение ко всему, что вам нужно знать о отзывчивом дизайне.

Итан Маркотт был первым, кто ввел термин отзывчивый дизайн, также он ввел три фундаментальных метода, которые легли в его основу.

Этими методами являются гибкие сетки для гибких макетов, мультимедийные запросы, которые помогут вашему контенту адаптироваться к разным размерам экрана и гибкие изображениям и медиа, которые также отвечают размеру экрана и браузера.

С тех пор Интернет пережил огромные изменения. Отзывчивый дизайн теперь является стандартной практикой и важными знаниями для любого дизайнера в этой области.

В этой статье мы рассмотрим:

  • Принципы отзывчивого дизайна;
  • Основные компоненты, которые содержат отзывчивый дизайн;
  • Инструменты, которые вы можете использовать для гибкого проектирования

Что такое отзывчивый дизайн?

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

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

Если пользователь открывает один и тот же сайт на настольном компьютере и мобильном устройстве, он должен иметь одинаковую возможность просмотра.

Раньше, до рассвета отзывчивого дизайна, если вы изменили размер окна своего интернет-браузера, вы не могли корректно просматривать контент, тогда как с адаптивным дизайном контент будет адаптироваться в зависимости от размера окна браузера.

Зачем нам нужен отзывчивый дизайн?

Поскольку пользователи, как правило, получают доступ к содержимому различными способами на множестве разных устройств, потребность в отзывчивом дизайне больше, чем когда-либо.

Перед широким внедрением отзывчивого дизайн дизайнер пользовательского интерфейса мог бы создать только один макет веб-сайта, и он будет запущен в производство и выпущен в мир для всех пользователей. Были стандартные размеры, такие как 800 x 600 или 1024 x 786, к которым придерживались дизайнеры. Если вы использовали более крупный экран для просмотра содержимого или меньший, дизайн оставался бы того же размера.

« Веб переместился за пределы рабочего стола. Количество устройств, которые мы проектируем, растет так же быстро, как и мобильный трафик ». — Этан Маркотт

Проблема с этим подходом заключается в том, что он предполагает, что один макет подходит для всех.

Принципы отзывчивого дизайна

На приведенном выше изображении вы увидите один и тот же сайт на 4 разных устройствах. Все эти устройства имеют свои собственные размеры, но опыт просмотра на всех устройствах одинаковый.

Давайте сосредоточимся на настольной версии веб-сайта .

На ПК версии есть много пространства для дизайна пользовательского интерфейса. Как вы можете видеть выше, контент центрируется в середине страницы с жирным заголовком. Размер заголовка задан REM , что позволяет устанавливать размер шрифта на основе размера шрифта корневого элемента HTML. Это просто упрощает масштабирование по отношению к ширине экрана.

Навигационная панель просторная и читаемая, и есть большое стартовое изображение, которое занимает ширину верхней половины веб-сайта.

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

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

Вместо нашего меню навигации на основе текста в верхней части веб-сайта у нас появляется бургер меню . Поскольку пространство ограниченно на небольших устройствах, необходимо изменить способ представления контента. Веб-сайт  выглядел бы слишком переполненным, если бы наверху было 5 пунктов навигации.

Вместе с тем, однако, опыт остается прежним. Вы заметите, когда вы измените размер браузера, текст заголовка и изображение также немного изменились по размеру, как если бы они отвечали на размер браузера. Это потому, что они меняются из-за того, что свойство width установлено на 100% в CSS.

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

Элементы, составляющие отзывчивый дизайн

Есть много элементов, которые составляют отзывчивый веб-сайт, помимо простого изменения размеров. Другие элементы, которые следует учитывать:

  1. Типографика;
  2. Навигация;
  3. Производительность.

Что такое отзывчивая типографика?

Контент составляет большую часть Интернета. То, что вы сейчас читаете, — это контент. Каждый веб-сайт (или, по крайней мере, 99% из них) будет каким-то образом будет представлять текстовый контет.

«Веб-дизайн — это  95% типографики» — Оливер Райхенштейн

Поскольку типографика играет такую ​​важную роль в дизайне веб-сайтов и мобильных приложений, имеет смысл, чтобы ваша типографика также была отзывчивой.

Окно просмотра представляет собой область, которая в настоящее время просматривается. Изменчивая типография будет меняться по размеру относительно размера окна просмотра. Это правило будет записано в CSS сайта.

Отзывчивая навигация

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

Мобильные устройства не очень широкие, поэтому для обеспечения хорошего пользовательского интерфейса необходимо использовать другие средства отображения информации, экономящие место.

Отзывчивый дизайн, производительность и пользовательский интерфейс

Хотя многие элементы, которые составляют отзывчивый дизайн, являются наглядными, существуют также back-end элементы, которые повышают производительность адаптивного дизайна.

Например, если вы создали 4 отдельных файла HTML и CSS для каждого из ваших устройств, вы столкнетесь с проблемами производительности. Количество HTTP-запросов от устройства к серверу резко увеличит время загрузки. А медленное время загрузки может привести к тому, что на вашем сайте останется меньше людей.

Чтобы этого не произошло, поместите все свои таблицы стилей и сценарии в один документ и используйте запросы @media .

Лучше иметь большую таблицу стилей с меньшим количеством HTTP-запросов, чем отдельные страницы, которые требуют нескольких запросов.

Использование чистого кода, отвечающего отраслевым стандартам, также является одним из способов повысить производительность вашего веб-сайта.

Аналогично, если вы используете несколько значков, вы можете объединить их в спрайты, чтобы одно и то же изображение использовалось для нескольких значков, что дополнительно уменьшало количество HTTP-запросов.

Общие адаптивные концепции дизайна

Mobile viewport

Mobile viewport — видимая область пользователя на веб-странице. Экран будет зависеть от используемого устройства. Например, iPhone X будет иметь более щедрый Mobile viewport, чем iPhone 5. Это связано с тем, что iPhone X больше.

Mobile viewport, поскольку он используется в HTML и CSS для рендеринга веб-сайта в нужном размере с помощью тега <meta>:

< meta name = «viewport» content = «width = device-width, initial-scale = 1.0»>

Как видно из width = device-width , код устанавливает ширину страницы, чтобы она соответствовала ширине устройства.

Media queries

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

Отзывчивые изображения

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

Отзывчивые изображения означают, что вы можете использовать разные версии изображений для разных сценариев отображения.

Что такое отзывчивый дизайн? — резюме

Дизайнеры не могут игнорировать отзывчивый дизайн. Это необходимо в мире, где наши устройства и потребности постоянно меняются.

Внедряя отзывчивый дизайн, вы предоставляете пользователю единый опыт на всех платформах, и это уменьшит обучение пользователя и предотвратит бесполезную путаницу.

Источник и иллюстрации

Что мы получим, если совместим адаптивный и отзывчивый дизайн?

Что мы получим, если совместим адаптивный и отзывчивый подходы? Представляем адаптивную + отзывчивую модель (Adaptive + Responsive model).

Отзывчивый и адаптивный дизайн – это две методологии проектирования, целью которых является сделать продукт доступным на любых устройствах и экранах любого размера, обеспечивая наилучший опыт всем пользователям. Обе методологии пытаются максимально использовать доступное пространство экрана и режим взаимодействия с пользователем. Прежде чем говорить о модели A + R, нам нужно разобрать оба метода по отдельности.

Хотя отзывчивый дизайн использует CSS и / или JS для адаптации макетов и контента на основе предварительно определенных контрольных точек (breakpoints), адаптивный подход предоставляет предварительно структурированные шаблоны, которые будут обслуживаться на основе пользовательского агента (user agent) и типа устройства. Основное различие между ними заключается в DOM-структуре.  При отзывчивом дизайне у нас одинаковый HTML-код для всех ситуаций (если только вы не используете JS для удаления некоторых узлов DOM), тогда как при адаптивном у нас другая структура кода и потенциально разный опыт.

Оба подхода к дизайну верны, просто спросите себя, сколько компонентов и сложностей в вашем проекте, и может ли один опыт подойти всем вашим пользователям. При разработке веб-приложений часто используется отзывчивый дизайн, например, создание особого опыта с помощью адаптивной разработки, как это делают мобильные версии Twitter и Facebook.

Методы отзывчивого дизайна

При создании отзывчивого опыта у нас есть три подхода к работе с нашими макетами и контентом:

Изменение структуры (Reflow): мы можем изменить структуру макета, чтобы лучше соответствовать области просмотра. В большинстве случаев это приводит к тому, что контент складывается в стек (это не всегда хорошо).

Предстоящие воркшопы

Изменение размера (Resize): некоторые компоненты интерфейса являются текучими, как большинство HTML-элементов. Они заполняют доступное пространство и при необходимости меняют структуру.

Показать / Скрыть (Show/Hide): некоторые части интерфейса скрыты из области просмотра (но они все еще существуют) или отображаются, чтобы заполнить пространство.

Метод адаптивного дизайна

Реструктуризация: с помощью этого подхода мы можем разрабатывать и поставлять различные макеты, чтобы обеспечить наилучшее взаимодействие с конкретной средой, такой как мобильное устройство с сенсорным управлением или гибридное устройство с сенсорным экраном.

Представляем модель A+R

Оба подхода имеют свои плюсы и минусы, но что мы получим, если захотим использовать оба сразу? Модель A + R сочетает в себе как отзывчивый, так и адаптивный подходы, основанные на одной основной контрольной точке.

А обозначает Адаптивный

Как упомянуто выше, адаптивный подход позволяет нам дифференцировать пользовательский опыт, контент и даже функциональные возможности на основе пользовательского устройства. Рассматривая 960px, как главную адаптивную контрольную точку (определенную на основе глобальной статистики), мы имеем нечто похожее на:

  • Область просмотра слева представляет все экраны с разрешением меньше 960px с определенным макетом / контентом
  • Область просмотра справа представляет все экраны с разрешением 960px или более с другим макетом.

R обозначает Отзывчивый

Определенная нами основная контрольная точка создает два контекста опыта, которые могут отличаться друг от друга, в которых мы можем применять отзывчивые методы. Внутри каждого опыта мы можем определить второстепенные контрольные точки, чтобы адаптировать макет на основе доступного пространства. Например, пользователи, использующие планшет, могут увидеть сенсорный опыт (адаптивный подход), но мы все равно можем адаптировать макет на основе ориентации устройства (отзывчивый подход).

Адаптивный + отзывчивый

Комбинируя адаптивный и отзывчивый подходы, мы получаем модель A + R. С помощью адаптивного метода мы будем работать с опытом и функциональностью, создавая два разных контекста. С отзывчивым методом мы обрабатываем компоненты интерфейса и макеты, которые находятся внутри контекста.

Когда выбрать модель A + R

Такой подход к проектированию требует, чтобы дизайнеры действительно понимали, какой опыт они хотят предоставить, чтобы определить, какой модели следовать. Эта модель хорошо подходит для больших приложений, которые должны быть доступны с небольших мобильных устройств с меньшими функциональными возможностями или с совершенно другой структурой. Вы получите большую гибкость, но и сложность, потому что вам, возможно, придется обрабатывать разные кодовые базы и среды (не обязательно).

Используя модель A + R дизайнеры и разработчики (но также и владельцы продуктов) могут сосредоточиться на улучшении всех возможностей, которые может предложить продукт, вместо того, чтобы обеспечить «хороший» опыт только в одной среде.

Кто использует эту модель?

Вы можете заметить, что этот шаблон используется Twitter, Facebook и GitHub для своих мобильных веб-сайтов. Если вы перемещаетесь по этим сайтам на своем смартфоне, вы можете проверить, как они изменяют пользовательский опыт, исходя из ожиданий мобильных пользователей.

Подпишитесь на автора

Если вам понравилась эта статья, проверьте блог автора для получения дополнительной информации о веб-разработке и подпишитесь на него в Twitter.

Все изображения сделаны автором и ребятами из Contactlab UX.

Отзывчивый дизайн — Изучение веб-разработки

На заре веб-дизайна страницы создавались для экрана определенного размера. Если у пользователя был экран большего или меньшего размера чем ожидал дизайнер, то результат мог быть от нежелательных полос прокрутки, до слишком длинной строки и плохого использования пространства. Поскольку становились доступны много различных размеров экранов, появилась концепция отзывчивого (адаптивого) веб-дизайна (responsive web design (RWD)) — набор методов, которые позволяют веб-страницам менять свой макет и внешний вид в соответствии с разной шириной экрана, разрешением и т.д. Это та самая, идея которая изменила подход к дизайну веба для множества устройств, и в этой статье мы поможем вам понять основные методы, которые вам необходимо знать, чтобы освоить его.

В какой-то момент истории при разработке веб-сайта у вас было два варианта:

  • Вы могли создать жидкий сайт, который будет растягиваться чтобы заполнить окно браузера
  • или сайт с фиксированной шириной, который будет иметь фиксированный размер в пикселях.

Эти два подхода, как правило, приводили к тому, что веб-сайт лучше всего выглядел на экране человека, создавшего сайт! Жидкий сайт приводил к раздавленному дизайну на маленьких экранах (как видно ниже) и не читаемо длинным строкам на больших.

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

Сайт с фиксированной шириной рисковал иметь горизонтальную полосу прокрутки на экранах меньших чем ширина сайта (как видно ниже) и много белого пространства на краях дизайна на больших экранах.

Примечание: Посмотрите этот простой макет с фиксированной шириной: пример, исходный код. Снова изучите результат по мере изменения размера окна браузера.

Примечание: Скриншоты выше сделаны используя Responsive Design Mode в Firefox DevTools.

Когда мобильный веб стал становиться реальностью с первыми функциональными телефонами, компании желающие охватить мобильники начали создавать в основном специальные мобильные версии своих сайтов, с различными URL (часто что-то наподобие m.example.com или example.mobi). Это означало, что необходимо было разрабатывать и поддерживать в актуальном состоянии две отдельные версии сайта.

Кроме того, эти мобильные сайты часто предлагали очень урезанный вариант. Поскольку мобильные гаджеты стали мощнее и способными отображать целые веб-сайты, пользователей мобильных устройств раздражало, что они обнаруживали себя запертыми в мобильной версии сайта, неспособные получить доступ к информации, которая, как они знали, есть в полнофункциональной версии сайта.

Было разработано несколько подходов чтобы попытаться разрешить недостатки построения веб-сайтов жидким методом или методом с фиксированной шириной. В 2004 году Камерон Адамс написал пост Resolution dependent layout, описывающий метод создания дизайна который мог бы адаптироваться к разным разрешениям экрана. Этот подход требовал, чтобы JavaScript узнавал разрешение экрана и загружал корректный CSS.

Зои Миккели Гилленвотер сыграла важную роль в свой работе описав и формализовав различные способы посредствам которых могут быть созданы гибкие сайты, пытаясь найти золотую середину между заполнением экрана или полностью фиксированным размером.

Термин адаптивный дизайн был Придуман Итаном Маркоттом в 2010 году и описывал использование трех методов в сочетании.

  1. Первой была идея жидких сеток, нечто что уже исследовала Гилленвотер, что можно прочитать в статье Маркотта — Fluid Grids (опубликовано в 2009 в A List Apart).
  2. Вторым методом была идея жидких изображений. Используя очень простой метод настройки свойства max-width на 100%, изображения будут становиться меньше если содержащий столбец становится уже чем изначальный размер изображения, но никогда не становится больше. Это позволяет изображению уменьшаться чтобы соответствовать столбцу гибких размеров, а не перекрываться с ним, но не расти и становиться пиксельным если столбец становится шире изображения.
  3. Третьим ключевым компонентом был media query. Media Query позволяют переключать тип макета применяя только CSS то, что Камерон Адамс исследовал, используя JavaScript. Вместо того чтобы иметь один макет для всех размеров экранов, макет мог изменяться. Боковые панели можно перемещать для маленьких экранов, либо отображать альтернативную навигацию.

Очень важно понять, что адаптивный веб-дизайн это не отдельная технология, это термин используемый, чтобы описать подход к веб-дизайну или набор лучших практик, используемых для создания макета, который может реагировать на используемое устройство для просмотра контента. В первоначальном исследовании Маркотта это означало гибкие сетки (с использованием floats) и media query, однако почти за 10 лет, прошедших с момента написания этой статьи, адаптивная работа стала стандартом по умолчанию. Современные методы макета CSS отзывчивы по своей сути, и у нас есть новые штучки, встроенные в веб-платформу для того, чтобы делать дизайн отзывчивых сайтов проще.

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

Отзывчивый дизайн был способен появится только благодаря media query. Спецификация Media Queries Level 3 стала Рекомендованным Кандидатом в 2009 году, что означает, что она была признана готовой к реализации в браузерах. Медиа запросы позволяют нам проводить серию тестов (например, является ли экран пользователя больше, чем определенная ширина или разрешение) и выборочно применять CSS к стилю страницы соответственно с нуждами пользователя.

Например, следующий медиа запрос проверяет отображается ли текущая страница как экранная медиа (а не как печатный документ) и имеет ли область просмотра ширину как минимум 800 px. CSS будет применяться к селектору .container только если эти две вещи истины.

@media screen and (min-width: 800px) {
  .container {
    margin: 1em 2em;
  }
} 

Вы можете добавлять несколько медиа запросов в пределах одной таблицы стилей, подстраивая весь ваш макет или его части так чтоб соответствовать наилучшим образом разным размерам экрана. Точки, в которых применяется media query и меняется макет, известны как контрольные точки.

Общим подходом при использовании Media Queriy является создание простого одно колоночного макета для устройств с узкими экранами (например, мобильные телефоны), затем проверка для бо’льших экранов и применение макета с несколькими столбцам, когда вы знаете, что у вас достаточно ширины экрана чтобы уместить все. Это часто называют дизайном сначала мобильный (mobile first).

Узнать больше о Media Query можно в документации MDN.

Отзывчивые сайты не просто меняют свой макет между контрольными точками, они построены на гибких сетках. Гибкая сетка подразумевает что вам не надо заботиться о каждом возможном существующем размере устройства и строить для них идеальный макет в пикселях. Такой подход был бы невозможен имея широкое множество существующих устройств разных размеров, как и факт того, что даже на ПК люди не всегда используют браузер с развернутым до максимума окном.

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

В первые дни отзывчивого дизайна, нашим единственным вариантом выполнения было использование floats. Гибкий обтекаемый макет достигался путем присвоения каждому элементу процентной ширины удостоверившись, что итоговые значения в макете не превышают 100%. В своей оригинальной статье о плавучих сетках Маркотт подробно описал формулу для преобразования макета, созданного с использованием пикселей, в проценты.

target / context = result 

Например, если размер нашего целевого столбца — 60 пикселей, а контекст (или контейнер) в котором он находится — 960 пикселей, то мы делим 60 на 960 чтобы получить значение которое мы можем использовать в нашем CSS, после переноса десятичной точки вправо на 2 цифры.

.col {
  width: 6.25%; 
} 

Этот подход сегодня можно найти во многих местах в Интернете и он задокументирован здесь в разделе макетов в нашей статье Устаревших методов макетов. В вашей работе вероятно, что вы столкнетесь с веб-сайтами, использующими этот подход, поэтому стоит понимать его, даже если вы не будете строить современные сайты используя гибкие сетки основанные на float.

Следующий пример демонстрирует простой отзывчивый дизайн используя Media Query и гибкие сетки. На узких экранах макет отображает блоки, сложенные друг на друга:

На более широких экранах они премещаются в два столбца:

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

Multicol

Самый старый из этих методов — это multicol, когда вы задаете column-count, это отражает то на сколько столбцов вы хотите разбить ваш контент. Далее браузер рассчитывает их размер, размер, который изменится согласно размеру экрана.

.container {
  column-count: 3;
} 

Если вместо этого вы зададите column-width, то вы определите минимальную ширину. Браузер создаст столько столбцов той ширины, сколько будет комфортно умещаться в контейнер, а затем поделит оставшееся пространство между всеми столбцами. Поэтому число столбцов будет меняться согласно тому сколько имеется места.

.container {
  column-width: 10em;
} 

Flexbox

В Flexbox, в качестве исходного поведения, flex элементы будут сжиматься и распределять пространство между элементами в соответствии с пространством в их контейнере. Изменяя значения flex-grow и flex-shrink вы можете указать, как вы хотите, чтобы предметы вели себя когда они сталкиваются с бо’льшим или меньшим пространством вокруг себя.

В примере ниже каждый flex элемент будет принимать равное количество пространства во flex контейнере используя запись flex: 1 как описано в главе Flexbox: Гибкое изменение размеров flex элементов.

.container {
  display: flex;
}

.item {
  flex: 1;
} 

Примечание: В качестве примера мы перестроили простой отзывчивый макет выше, в этот раз используя flexbox. Вы видите что нас больше не надо использовать странные процентные значения для подсчета размера столбцов: пример, исходный код.

CSS grid

В макете CSS Grid единицы измерения fr позволяют распределять доступное пространство между дорожками сетки. Следующий пример создает grid контейнер с тремя дорожками размером 1fr. Это создаст три вертикальные дорожки, каждая занимающая одну часть свободного пространства в контейнере. Вы можете узнать больше об этом подходе к созданию сетки в теме Изучение Макета Grid в разделе Гибкие grids с единицами fr.

.container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
} 

Примечание: версия grid макета еще проще, поскольку мы можем определить столбцы в .wrapper: пример, исходный код.

Самый простой подход к отзывчивым изображениям был описан в ранних статьях Маркотта по отзывчивому дизайну. По сути, вы берете изображение максимального размера, которое могло понадобиться, и уменьшаете его. Этот подход до сих пор используется и в большинстве таблиц стилей вы найдете следующий CSS:

img {
  max-width: 100%;
} 

Существуют очевидные недостатки к этому подходу. Изображение может быть изображено намного меньше своего исходного размера, что является пустой тратой пропускной способности — пользователь мобильных может загружать изображение, в несколько раз превышающее размер того, что он фактически видит в окне браузера. Кроме того, вам может не понадобиться такое же соотношение сторон изображения на мобильном устройстве, как на компьютере. Либо, учитывая меньший размер изображения на мобильном телефоне, вы можете захотеть показать совсем другое изображение, которое легче понять на маленьком экране. Такие вещи можно достичь, просто уменьшая изображение.

Отзывчивые изображения, используя элемент <picture> и атрибуты srcset и sizes элемента <img> оба решают эти проблемы. Вы можете указать несколько размеров вместе с «подсказками» (метаданные, описывающие размер экрана и разрешение, для которых изображение лучше всего подходит), и браузер выберет наиболее подходящее изображение для каждого устройства, гарантируя, что пользователь загрузит изображение подходящего размера для устройства, которое они используют.

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

Вы можете найти подробное руководство по отзывчивым изображениям в разделе ищучения HTML на MDN.

Элементом отзывчивого дизайна, не освещенного ранее в работе, была идея отзывчивой типографии. Главным образом, она описывает изменение размера шрифта в пределах media queries для того, чтобы отображать бо’льшую или меньшую площадь экрана.

В этом примере, мы хотим задать нашему заголовку первого уровня 4rem, что значит, что он будет в четыре раза больше нашего базового размера шрифта. Это очень большой заголовок! Мы хотим этот гигантский заголовок только на экранах больших размеров, поэтому мы сначала создаем меньший заголовок, а затем используем media queries чтобы переписать его для больших экранов если мы знаем что у пользователя есть экран размером как минимум 1200px.

html {
  font-size: 1em;
}

h2 {
  font-size: 2rem;
}

@media (min-width: 1200px) {
  h2 {
    font-size: 4rem;
  }
} 

Мы отредактировали наш приведенный выше пример отзывчивой сетки grid, чтобы он также включал в себя адаптивный тип, используя описанный метод. Вы можете видеть, как заголовок меняет размеры, когда макет переходит в версию с двумя столбцами.

В мобильных версиях заголовок меньше:

На компьютерах, однако, мы видим больший размер заголовка:

Такой подход к типографии показывает, что вам не надо ограничивать media queries только изменением макета страницы. Они могут быть использоваться для настройки любого элемента, чтобы сделать его более удобным или привлекательным при других размерах экрана.

Using viewport units for responsive typography

An interesting approach is to use the viewport unit vw to enable responsive typography. 1vw is equal to one percent of the viewport width, meaning that if you set your font size using vw, it will always relate to the size of the viewport.

h2 {
  font-size: 6vw;
}

The problem with doing the above is that the user loses the ability to zoom any text set using the vw unit, as that text is always related to the size of the viewport. Therefore you should never set text using viewport units alone.

There is a solution, and it involves using calc(). If you add the vw unit to a value set using a fixed size such as ems or rems then the text will still be zoomable. Essentially, the vw unit adds on top of that zoomed value:

h2 {
  font-size: calc(1.5rem + 3vw);
}

This means that we only need to specify the font size for the heading once, rather than set it up for mobile and redefine it in the media queries. The font then gradually increases as you increase the size of the viewport.

If you look at the HTML source of a responsive page, you will usually see the following <meta> tag in the <head> of the document.

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

This meta tag tells mobile browsers that they should set the width of the viewport to the device width, and scale the document to 100% of its intended size, which shows the document at the mobile-optimized size that you intended.

Why is this needed? Because mobile browsers tend to lie about their viewport width.

This meta tag exists because when the original iPhone launched and people started to view websites on a small phone screen, most sites were not mobile optimized. The mobile browser would, therefore, set the viewport width to 960 pixels, render the page at that width, and show the result as a zoomed-out version of the desktop layout. Other mobile browsers (e.g. on Google Android) did the same thing. Users could zoom in and pan around the website to view the bits they were interested in, but it looked bad. You will still see this today if you have the misfortune to come across a site that does not have a responsive design.

The trouble is that your responsive design with breakpoints and media queries won’t work as intended on mobile browsers. If you’ve got a narrow screen layout that kicks in at 480px viewport width or less, and the viewport is set at 960px, you’ll never see your narrow screen layout on mobile. By setting width=device-width you are overriding Apple’s default width=960px with the actual width of the device, so your media queries will work as intended.

So you should always include the above line of HTML in the head of your documents.

There are other settings you can use with the viewport meta tag, however in general the above line is what you will want to use.

  • initial-scale: Sets the initial zoom of the page, which we set to 1.
  • height: Sets a specific height for the viewport.
  • minimum-scale: Sets the minimum zoom level.
  • maximum-scale: Sets the maximum zoom level.
  • user-scalable: Prevents zooming if set to no.

You should avoid using minimum-scale, maximum-scale, and in particular setting user-scalable to no. Users should be allowed to zoom as much or as little as they need to; preventing this causes accessibility problems.

Note: There is a CSS @ rule designed to replace the viewport meta tag — @viewport — however, it has poor browser support. When both are used the meta tag overrides @viewport.

Responsive design refers to a site or application design that responds to the environment in which it is viewed. It encompasses a number of CSS and HTML features and techniques and is now essentially just how we build websites by default. Consider the sites that you visit on your phone — it is probably fairly unusual to come across a site that is the desktop version scaled down, or where you need to scroll sideways to find things. This is because the web has moved to this approach of designing responsively.

It has also become much easier to achieve responsive designs with the help of the layout methods you have learned in these lessons. If you are new to web development today you have many more tools at your disposal than in the early days of responsive design. It is therefore worth checking the age of any materials you are referencing. While the historical articles are still useful, modern use of CSS and HTML makes it far easier to create elegant and useful designs, no matter what device your visitor views the site with.

HTML элементов компьютерного кода


HTML содержит несколько элементов для определения пользовательского ввода и компьютерный код.



HTML

для ввода с клавиатуры

Используется элемент HTML для определения ввода с клавиатуры. Содержимое внутри отображается в браузере моноширинный шрифт по умолчанию.

Пример

Определить текст как ввод с клавиатуры в документе:

Сохраните документ, нажав Ctrl + S

результат:

Сохраните документ, нажав Ctrl + S

Попробуй сам "

HTML

для вывода программы

Элемент HTML используется для определить образец вывода из компьютерной программы.Содержимое внутри отображается в моноширинный шрифт браузера по умолчанию.

Пример

Определите некоторый текст как образец вывода компьютерной программы в документе:

Сообщение с моего компьютера:


Файл не найден.
Нажмите F1, чтобы продолжить

результат:

Сообщение с моего компьютера:

Файл не найден.
Нажмите F1, чтобы продолжить

Попробуй сам "

HTML

для компьютера: код

Используется элемент HTML для определения фрагмента компьютерного кода.Содержимое внутри отображается в моноширинный шрифт браузера по умолчанию.

Пример

Определите текст как компьютерный код в документе:


x = 5;
у = 6;
г = х + у;

результат:

х = 5; у = 6; г = х + у;

Попробуй сам "

Обратите внимание, что элемент не сохраняет лишние пробелы и разрывы строк.

Чтобы исправить это, вы можете поместить элемент внутри элемента

 : 

Пример

 

x = 5;
у = 6;
г = х + у;

результат:

х = 5;
у = 6;
г = х + у;

Попробуй сам "

HTML

для переменных

Используется элемент HTML для определения переменной в программировании или в математическом выражении.В содержимое внутри обычно отображается курсивом.

Пример

Определить текст как переменные в документе:

Площадь треугольника: 1/2 x b x h , где b - основание, а h - высота по вертикали.

результат:

Площадь треугольника: 1/2 x b x h , где b - основание, а h - высота по вертикали.

Попробуй сам "

Краткое содержание главы

  • Элемент определяет ввод с клавиатуры
  • Элемент определяет пример вывода компьютерной программы
  • Элемент определяет часть компьютерного кода
  • Элемент определяет переменную в программировании или в математическом выражении
  • Элемент
      определяет
    предварительно отформатированный текст 

Упражнения HTML


Элементы компьютерного кода HTML

Тег Описание
<код> Определяет программный код
Определяет ввод с клавиатуры
Определяет вывод компьютера
Определяет переменную
 
Определяет предварительно отформатированный текст


11 убедительных примеров адаптивного веб-дизайна

Еще в 2010 году Итан Маркотт призвал дизайнеров и разработчиков практиковать «адаптивный веб-дизайн» (RWD):

«Вместо того, чтобы приспосабливать отдельные проекты к каждому из постоянно растущего числа веб-устройств, мы можем рассматривать их как аспекты одного и того же опыта.Мы можем [сделать наши] дизайны […] более адаптивными к средствам массовой информации, которые их визуализируют ».

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

Связанные: 9 примеров умных, креативных 404 страниц

Восемь лет спустя адаптивный веб-дизайн достиг критической массы. В настоящее время стандартной практикой является создание согласованного, но индивидуального интерфейса на всех устройствах, в том числе на тех, которые еще не выпущены.

Но что такое адаптивный веб-дизайн? И каковы лучшие примеры мобильного адаптивного веб-дизайна на практике?

«На мобильные телефоны и планшеты приходится 56,74% глобального использования Интернета».

Что такое адаптивный веб-сайт?

Строго говоря, у адаптивных веб-сайтов есть три определяющие особенности:

«Медиа-запрос позволяет нам ориентироваться не только на определенные классы устройств, но и на самом деле проверять физические характеристики устройства, выполняющего нашу работу», - объясняет Маркотт.

Таким образом, медиа-запросы

позволяют разработчикам использовать проверку условий для изменения веб-дизайна в зависимости от свойств устройства пользователя. Это лучше, чем простое определение точек останова в HTML / CSS, так как это более удобный интерфейс для пользователя.

Когда гибкие сетки создаются с помощью CSS, столбцы автоматически меняются, чтобы соответствовать размеру экрана или окна браузера, независимо от того, находится ли пользователь на 21-дюймовом настольном компьютере, 13-дюймовом ноутбуке, 9,7-дюймовом планшете или а 5.5-дюймовый мобильный телефон.

«Гибкие макеты [….] Надежно передают контроль над нашими проектами в руки наших пользователей и их привычек просмотра», - объясняет Маркотт.

Это позволяет дизайнерам поддерживать единообразный внешний вид на нескольких устройствах. Кроме того, это экономит время и деньги, позволяя дизайнерам обновлять одну версию веб-сайта вместо многих.

Маркотт здесь говорит об использовании кода, который предотвращает превышение размеров мультимедийных файлов размеров их контейнеров, а также окон просмотра.По его словам, «гибкий контейнер изменяет свой размер», так же как и изображение внутри него.

Учитывая, что сегодня существует более 8,48 млрд уникальных устройств, эта функциональность позволяет командам создавать неподвластные времени дизайны, способные адаптироваться к любому устройству, независимо от его размера и формы.

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

Связано: Типографика и создание сеток для экранов

Но, объясняет Маркотт, это только начало:

«Гибкие сетки, гибкие изображения и медиа-запросы - три технических компонента адаптивного веб-дизайна, но они также требуют иного мышления.Вместо того, чтобы помещать наш контент в карантин в разрозненные, зависящие от устройства возможности, мы можем использовать медиа-запросы для постепенного улучшения нашей работы в различных контекстах просмотра ».

Ниже мы привели 11 примеров, которые выходят за рамки основных критериев адаптивного веб-дизайна. Каждый веб-сайт предлагает возможности, адаптированные к уникальному контексту пользователя.

Примеры адаптивного веб-дизайна

Dropbox отлично справился с использованием гибкой сетки и гибких визуальных элементов для создания выдающегося адаптивного веб-сайта.При переходе с рабочего стола на карманные устройства изменяется не только цвет шрифта, чтобы соответствовать цвету фона, но и изображение также меняет ориентацию.

С учетом контекста Dropbox предлагает индивидуальный подход к каждому устройству. Например, чтобы предотвратить подпрыгивание пользователей, небольшая стрелка указывает пользователям настольных компьютеров прокрутить вниз, чтобы увидеть больше контента. Такая же стрелка отсутствует на портативных устройствах, поскольку предполагается, что пользователи будут выполнять прокрутку на устройстве с сенсорным экраном.Точно так же их форма регистрации видна на настольных устройствах, но скрыта за кнопкой с призывом к действию на планшетах и ​​мобильных устройствах, где пространство ограничено.

Веб-сайт

Dribbble отличается одним из отличительных признаков адаптивного веб-дизайна: гибкой сеткой, которая сокращается с пяти столбцов на настольных компьютерах и портативных компьютерах до двух столбцов на планшетах и ​​мобильных телефонах.

Чтобы не перегружать свой веб-сайт на мобильных устройствах, Dribbble удалила несколько элементов. Например, снимки больше не приписываются их создателю, а количество просмотров, комментариев и лайков больше не вкладывается под каждый элемент.Они также скрыли меню за значком гамбургера и убрали строку поиска.

Веб-сайт

GitHub предлагает единообразную работу на всех устройствах. Однако было несколько заметных отличий:

  • При переходе с настольных устройств на планшеты область над сгибом меняется с макета с двумя столбцами на макет с одним столбцом, причем копия находится над формой регистрации, а не рядом с ней.
  • В отличие от настольных и планшетных устройств, где форма регистрации находится в центре внимания, GitHub представляет только кнопку с призывом к действию на мобильных устройствах.Пользователи должны щелкнуть призыв к действию, чтобы открыть форму.
  • Как и Dribbble, GitHub также удалил панель поиска и скрыл меню за значком гамбургера на портативных устройствах. Это довольно распространенная практика, поскольку она помогает уменьшить беспорядок на мобильных устройствах, где пространство ограничено.

Это еще один фантастический пример адаптивного мобильного веб-дизайна. Их веб-сайт загружается на удивление быстро, за четыре секунды, при использовании подключения 3G. Что еще более важно, внешний вид веб-сайта Klientboost остается неизменным на всех устройствах, но им удалось адаптировать пользовательский интерфейс к каждому устройству.

В то время как полное меню, включая кнопку с призывом к действию «Получить предложение» и «Мы нанимаем!» выноска, которую можно просматривать с настольных и портативных компьютеров, планшетов и мобильных устройств, открывает сокращенные версии меню. Пользователям, посещающим свой веб-сайт с планшетных устройств, отображается значок гамбургер-меню и выноска, а тем, кто посещает их с мобильных телефонов, - значок меню и кнопка с призывом к действию.

Magic Leap разработала простой, ориентированный на мобильные устройства веб-сайт с параллаксной прокруткой, который оживляет их потрясающие иллюстрации.Учитывая, что на мобильные телефоны и планшеты сейчас приходится 56,74% глобального использования Интернета, их подход имеет смысл.

Пользовательский интерфейс

Magic Leap единообразен на всех устройствах, за одним исключением: микрокопия, которая направляет пользователей на прокрутку, которая есть на настольных компьютерах и планшетах, но исключена на мобильных устройствах, где пользователям естественно выполнять прокрутку.

Даже с подключением к сети 3G их веб-сайт загружается за семь секунд, что значительно ниже среднемирового показателя (22 секунды).Для веб-сайта с адаптивной анимацией это не так уж плохо.

Пользовательский интерфейс

Shopify одинаков на всех устройствах. Только кнопка призыва к действию и иллюстрации изменились между настольными и мобильными устройствами.

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

Аналогичным образом, иллюстрации расположены справа от копии на персональных компьютерах и планшетах, тогда как на мобильных устройствах они расположены под копией.

Как и на большинстве веб-сайтов, меню Shopify также заменено значком гамбургера на портативных устройствах.

Несмотря на то, что они используют карусели изображений для демонстрации своих клиентов, им удалось сохранить скорость загрузки страницы ниже пяти секунд, что довольно впечатляюще.

Smashing Magazine делает все возможное, предлагая индивидуальный подход к каждому устройству. Их веб-сайт имеет макет с двумя столбцами, полное меню и комбинированный знак на рабочем столе, который преобразуется в макет с одним столбцом и сжатое меню с буквенным знаком на планшетах и ​​мобильных устройствах.

Веб-сайт

Smashing Magazine также является ярким примером инклюзивного дизайна. Меню, показываемое пользователям настольных компьютеров, содержит как ярлыки, так и значки. И мне нравится, что вместо обычного значка меню они выбрали кнопку с призывом к действию со словом «меню» и значком поиска. У цифровых аборигенов нет проблем с навигацией по веб-сайтам с портативных устройств, но другие поколения не обязательно знают, что представляют собой значки-гамбургеры.

Их веб-сайт также загружается всего за 2 секунды на устройствах с 3G-Интернетом, что, по словам GSMA, будет составлять 70% мобильных подключений до 2020 года.Это снижает показатель отказов и не дает пользователям расстраиваться.

Бренд

Slack известен своей простотой и человечностью. Неудивительно, что их веб-сайт следует тем же правилам.

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

Связанный: Загрузите 25 бесплатных смайликов Slack, которые ваша команда разработчиков понятия не имела

Веб-сайт

Slack также разработан таким образом, чтобы его было легко использовать.Например, их кнопки с призывом к действию охватывают весь столбец на планшетах и ​​мобильных телефонах, что помогает пользователям не нажимать на гиперссылку «Войти» ниже.

Treehouse предлагает безупречный опыт работы на всех платформах. Их меню становится все меньше на разных устройствах: настольные и портативные компьютеры имеют меню из четырех пунктов, планшеты - меню из двух пунктов и значок гамбургера, а мобильные телефоны - меню и значок из одного пункта.

Их поля формы претерпевают такие же изменения.Они представлены в двух колонках для настольных и портативных компьютеров и в одной колонке для планшетов и мобильных телефонов.

Как и другие компании, WillowTree включает полное меню на настольных устройствах и сжатое меню на портативных устройствах. Но в отличие от других, они представили статическую панель навигации в верхней части страницы, которая создает более приятный опыт для пользователей портативных устройств. Они также добавили текстовый призыв к действию в мобильной версии своего веб-сайта для дополнительного удобства.

Как и на других адаптивных веб-сайтах, сетка, созданная для отображения логотипов клиентов, чрезвычайно гибкая. Он сворачивается с пяти столбцов на настольных компьютерах до четырех столбцов на планшетах и ​​до двух столбцов на мобильных телефонах.

Как и в Treehouse, область над сгибом преобразуется из двух столбцов на рабочем столе в один столбец на мобильном устройстве, при этом кнопка с призывом к действию перемещается из области рядом с копией под ней.

Веб-сайт

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

При переходе с планшета на мобильное устройство их меню сжимается и включает только их логотип, значок меню и ссылку для подписки. Чтобы упростить задачу, на мобильных устройствах недоступны функции поиска и возможность фильтровать новостную ленту WIRED по разделам.

Одна из областей, где лучше всего проявляется WIRED, - это использование гибких изображений. Обрезка их изображений функций меняется на разных платформах. На настольных компьютерах и портативных компьютерах изображения могут быть квадратными и прямоугольными, что дает пользователям возможность исследовать их глазами.Тем не менее, на портативных устройствах все изображения функций обрезаются с соотношением сторон 16: 9.

Какой ваш любимый адаптивный веб-сайт?

Сообщите нам, и мы, возможно, включим это в будущий пост об адаптивном дизайне.

Основы адаптивного веб-дизайна

Как создавать сайты, отвечающие потребностям и возможностям устройства, на котором они просматриваются.

• Обновлено

Использование мобильных устройств для просмотра веб-страниц продолжает расти астрономическими темпами, и эти устройства часто ограничены размером дисплея и требуют другого подхода к как контент размещается на экране.

Адаптивный веб-дизайн, первоначально определенный Итаном Маркоттом в A List Apart, отвечает потребностям пользователей и устройств, которые они используют. Компоновка меняется в зависимости от размера и возможностей устройства. Например, на телефоне пользователи будут видеть контент, отображаемый в виде одного столбца; планшет может отображать одно и то же содержимое в двух столбцах.

В телефонах, фаблетах, планшетах, настольных компьютерах, игровых консолях, телевизорах и даже носимых устройствах существует множество экранов разных размеров. Размеры экрана постоянно меняются, поэтому важно, чтобы ваш сайт мог адаптироваться к любому размеру экрана, сегодня или в будущем.Кроме того, у устройств есть разные функции, с которыми мы взаимодействуем. Например, некоторые из ваших посетителей будут использовать сенсорный экран. Современный адаптивный дизайн учитывает все эти факторы, чтобы сделать работу удобной для всех.

Установите область просмотра #

Страницы, оптимизированные для различных устройств, должны включать метатег области просмотра в заголовке документа. Тег meta viewport дает браузеру инструкции по управлению размерами и масштабированием страницы.

Чтобы попытаться обеспечить лучший опыт, мобильные браузеры отображают страницу с шириной экрана рабочего стола (обычно около 980 пикселей , хотя это зависит от устройства), а затем пытаются улучшить внешний вид содержимого, увеличивая размер шрифта и масштабируя содержимое, чтобы соответствовать экрану.Это означает, что размеры шрифта могут показаться несовместимыми для пользователей, которым, возможно, придется дважды нажать или ущипнуть для увеличения, чтобы увидеть контент и взаимодействовать с ним.

   







Использование значения мета-области просмотра width = device-width указывает странице на соответствие ширине экрана в независимых от устройства пикселях.Пиксель, независимый от устройства (или плотности), является представлением одного пикселя, который на экране с высокой плотностью может состоять из множества физических пикселей. Это позволяет переформатировать содержимое страницы для соответствия разным размерам экрана, независимо от того, отображается ли он на маленьком мобильном телефоне или на большом настольном мониторе.

Пример того, как страница загружается на устройство без метатега области просмотра. См. Этот пример на Glitch, Пример того, как страница загружается на устройство с метатегом области просмотра. См. Этот пример на Glitch.

Некоторые браузеры сохраняют ширину страницы постоянной при повороте в альбомный режим и увеличивают масштаб, а не перекомпоновывают, чтобы заполнить экран. Добавление значения initial-scale = 1 инструктирует браузеры устанавливать соотношение 1: 1 между пикселями CSS и пикселями, независимыми от устройства, независимо от ориентации устройства, и позволяет странице использовать всю ширину альбомной ориентации.

Внимание: Чтобы старые браузеры могли правильно анализировать атрибуты, используйте запятую для разделения атрибутов.

Отсутствует тег с шириной или начальным масштабом Аудит Lighthouse может помочь вам автоматизировать процесс проверки правильности использования метатега окна просмотра в ваших HTML-документах. .

Обеспечьте доступность области просмотра #

В дополнение к настройке начального масштаба , вы также можете установить следующие атрибуты в области просмотра:

  • минимальный масштаб
  • максимальный масштаб
  • пользователь -scalable

Если установлено, они могут отключить возможность пользователя масштабировать область просмотра, потенциально вызывая проблемы со специальными возможностями.Поэтому мы не рекомендуем использовать эти атрибуты.

Размер содержимого в соответствии с областью просмотра #

Как на настольных, так и на мобильных устройствах пользователи привыкли прокручивать веб-сайты вертикально, но не горизонтально; принуждение пользователя к горизонтальной прокрутке или уменьшению масштаба, чтобы увидеть всю страницу, приводит к неудовлетворительному взаимодействию с пользователем.

При разработке мобильного сайта с метатегом области просмотра легко случайно создать содержимое страницы, которое не совсем умещается в указанном окне просмотра.Например, изображение, которое отображается с шириной, превышающей ширину области просмотра, может вызвать горизонтальную прокрутку области просмотра. Вы должны настроить это содержимое так, чтобы оно соответствовало ширине области просмотра, чтобы пользователю не приходилось выполнять горизонтальную прокрутку.

Контент имеет неправильный размер для области просмотра. Аудит Lighthouse может помочь вам автоматизировать процесс обнаружения переполненного контента.

Images #

Изображение имеет фиксированные размеры, и если оно больше, чем область просмотра, появится полоса прокрутки.Распространенный способ решения этой проблемы - присвоить всем изображениям максимальную ширину , равную 100% . Это приведет к уменьшению изображения до размера имеющегося в нем пространства, если размер области просмотра будет меньше, чем изображение. Однако, поскольку max-width , а не width составляет 100% , изображение не будет растягиваться больше, чем его естественный размер. Как правило, безопасно добавлять в таблицу стилей следующее, чтобы у вас никогда не было проблем с изображениями, вызывающими полосу прокрутки.

  img {
max-width: 100%;
дисплей: блочный;
}
Добавьте размеры изображения в элемент img #

При использовании max-width: 100% вы переопределяете естественные размеры изображения, однако вы все равно должны использовать ширину , и высоту в вашем теге . Это связано с тем, что современные браузеры будут использовать эту информацию для резервирования места для изображения перед его загрузкой, это поможет избежать сдвигов макета при загрузке содержимого.

Layout #

Поскольку размеры и ширина экрана в пикселях CSS сильно различаются между устройствами (например, между телефонами и планшетами, и даже между разными телефонами), контент не должен полагаться на определенную ширину области просмотра для правильного отображения.

Раньше это требовало элементов настройки, используемых для создания макета в процентах. В приведенном ниже примере вы можете увидеть макет из двух столбцов с плавающими элементами, размер которых определяется в пикселях. Как только область просмотра становится меньше, чем общая ширина столбцов, мы должны прокручивать по горизонтали, чтобы увидеть содержимое.

Плавающий макет с использованием пикселей. См. Этот пример на Glitch.

Используя проценты для ширины, столбцы всегда остаются в определенном процентном соотношении от контейнера. Это означает, что столбцы становятся уже, а не создают полосу прокрутки.

Современные методы компоновки CSS, такие как Flexbox, Grid Layout и Multicol, значительно упрощают создание этих гибких сеток.

Flexbox #

Этот метод компоновки идеален, когда у вас есть набор элементов разного размера и вы хотите, чтобы они удобно размещались в ряду или рядах, при этом меньшие элементы занимают меньше места, а большие - больше.

  .items {
дисплей: гибкий;
justify-content: пробел между;
}

В адаптивном дизайне вы можете использовать Flexbox для отображения элементов в виде одной строки или переноса на несколько строк по мере уменьшения доступного пространства.

Подробнее о Flexbox.

CSS Grid Layout #

CSS Grid Layout позволяет легко создавать гибкие сетки. Если мы рассмотрим предыдущий пример с плавающей точкой, вместо того, чтобы создавать наши столбцы с процентами, мы могли бы использовать макет сетки и модуль fr , который представляет часть доступного пространства в контейнере.

 . Контейнер {
дисплей: сетка;
сетка-шаблон-столбцы: 1fr 3fr;
}

Сетка также может использоваться для создания регулярных макетов сетки с любым количеством элементов, которое может поместиться. Количество доступных треков будет уменьшаться по мере уменьшения размера экрана. В приведенной ниже демонстрации у нас есть столько карточек, сколько поместится в каждой строке, с минимальным размером 200 пикселей .

Подробнее о CSS Grid Layout

Multiple-column layout #

Для некоторых типов макета вы можете использовать Multiple-column Layout (Multicol), который может создавать гибкое количество столбцов со свойством column-width .В демонстрации ниже вы можете видеть, что столбцы добавляются, если есть место для другого столбца 200px .

Подробнее о Multicol

Иногда вам потребуется внести более серьезные изменения в макет для поддержки определенного размера экрана, чем позволяют описанные выше методы. Вот здесь и пригодятся медиа-запросы.

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

Чтобы предоставить различные стили для печати, вам необходимо настроить таргетинг на тип вывода, чтобы вы могли включить таблицу стилей со стилями печати следующим образом:

   

< head>




В качестве альтернативы вы можете включить стили печати в свою основную таблицу стилей с помощью медиа-запроса:

  @media print {
}

Также можно включить отдельные таблицы стилей в ваш основной файл CSS, используя синтаксис @import , @import url (print.css) печать; , однако это использование не рекомендуется по соображениям производительности. Дополнительные сведения см. В разделе Избегайте импорта CSS.

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

Медиа-запросы на основе размера области просмотра #

Медиа-запросы позволяют нам создавать адаптивную среду, в которой определенные стили применяются к маленьким экранам, большим экранам и где угодно между ними.Таким образом, функция, которую мы здесь обнаруживаем, - это размер экрана, и мы можем проверить следующее.

  • ширина ( минимальная ширина , максимальная ширина )
  • высота ( минимальная высота , максимальная высота )
  • ориентация
  • соотношение сторон

Все эти функции имеют отличную поддержку браузером. Для получения дополнительных сведений, включая информацию о поддержке браузера, см. Информацию о ширине, высоте, ориентации и соотношении сторон на MDN.

В спецификацию включены тесты для ширины устройства и высоты устройства . Они устарели, и их следует избегать. device-width и device-height протестированы на фактический размер окна устройства, что было бесполезно на практике, потому что оно может отличаться от области просмотра, на которую смотрит пользователь, например, если они изменили размер окна браузера.

Медиа-запросы на основе возможностей устройства #

Учитывая диапазон доступных устройств, мы не можем сделать предположение, что каждое большое устройство является обычным настольным или портативным компьютером или что люди используют только сенсорный экран на небольшом устройстве.С некоторыми новыми дополнениями к спецификации медиа-запросов мы можем тестировать такие функции, как тип указателя, используемый для взаимодействия с устройством, и возможность наведения курсора на элементы.

  • hover
  • pointer
  • any-hover
  • any-pointer

Попробуйте просмотреть эту демонстрацию на разных устройствах, например на обычном настольном компьютере, телефоне или планшете.

Эти новые функции хорошо поддерживаются во всех современных браузерах.Узнайте больше на страницах MDN о наведении, любом наведении, указателе и любом указателе.

Использование
с любым наведением и с любым указателем #

Функции с любым наведением и с любым указателем проверяют, есть ли у пользователя возможность навести указатель мыши, или использовать этот тип указателя, даже если он это не основной способ взаимодействия со своим устройством. Будьте очень осторожны при их использовании. Заставлять пользователя переключаться на мышь, когда он использует свой сенсорный экран, не очень удобно! Однако с любым наведением и с любым указателем могут быть полезны, если важно выяснить, какое устройство имеет пользователь.Например, ноутбук с сенсорным экраном и трекпадом должен соответствовать грубым и точным указателям в дополнение к способности зависать.

Как выбрать точки останова #

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

Выберите основные точки останова, начав с малого, а затем продолжив работу #

Сначала спроектируйте контент, чтобы он поместился на экране небольшого размера, а затем расширяйте экран до тех пор, пока точка останова не станет необходимой.Это позволяет оптимизировать точки останова на основе содержимого и поддерживать минимально возможное количество точек останова.

Давайте рассмотрим пример, который мы видели в начале: прогноз погоды. Первый шаг - сделать так, чтобы прогноз хорошо выглядел на маленьком экране.

Приложение узкой ширины.

Затем измените размер браузера до тех пор, пока между элементами не станет слишком много белого пространства, и прогноз просто не будет выглядеть так хорошо. Решение несколько субъективное, но выше 600px уж точно шире.

Приложение в тот момент, когда мы чувствуем, что должны подправить дизайн.

Чтобы вставить точку останова на 600 пикселей , создайте два медиа-запроса в конце вашего CSS для компонента, один для использования, когда размер браузера 600 пикселей, и ниже, и один, когда он шире, чем 600 пикселей .

  @media (max-width: 600px) {

}

@media (min-width: 601px) {

}

Наконец, проведите рефакторинг CSS. Внутри медиа-запроса для max-width 600px добавьте CSS, который предназначен только для маленьких экранов.Внутри медиа-запроса для min-width 601px добавьте CSS для больших экранов.

При необходимости выбирать второстепенные точки останова #

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

Начнем с оптимизации макета маленького экрана.В этом случае давайте увеличим шрифт, когда ширина области просмотра больше 360 пикселей . Во-вторых, когда есть достаточно места, мы можем разделить высокие и низкие температуры, чтобы они находились на одной линии, а не поверх друг друга. И давайте также сделаем значки погоды немного крупнее.

  @media (min-width: 360px) {
body {
font-size: 1.0em;
}
}

@media (min-width: 500px) {
.seven-day-fc .temp-low,
.seven-day-fc .temp-high {
display: inline-block;
ширина: 45%;
}

.seven-day-fc .seven-day-temp {
маржа слева: 5%;
}

.seven-day-fc .icon {
width: 64px;
высота: 64 пикс.
}
}

Аналогичным образом, для больших экранов лучше всего ограничить максимальную ширину панели прогноза, чтобы она не занимала всю ширину экрана.

  @media (min-width: 700px) {
.weather-прогноз {
width: 700px;
}
}

Оптимизация текста для чтения #

Классическая теория читабельности предполагает, что идеальный столбец должен содержать от 70 до 80 символов в строке (примерно от 8 до 10 слов на английском языке).Таким образом, каждый раз, когда ширина текстового блока превышает 10 слов, подумайте о добавлении точки останова.

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

Давайте подробнее рассмотрим приведенный выше пример сообщения в блоге. На небольших экранах шрифт Roboto 1em отлично работает, давая 10 слов в строке, но на больших экранах требуется точка останова. В этом случае, если ширина браузера больше 575 пикселей , идеальная ширина содержимого составляет 550 пикселей .

  @media (min-width: 575px) {
article {
width: 550px;
маржа слева: авто;
поле справа: авто;
}
}

Избегайте простого скрытия содержимого #

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

После того, как вы настроили точки останова медиа-запроса, вы захотите увидеть, как ваш сайт выглядит с ними. Вы можете изменить размер окна браузера, чтобы запускать точки останова, но Chrome DevTools имеет встроенную функцию, которая позволяет легко увидеть, как страница выглядит при разных точках останова.

DevTools, показывающее приложение погоды, как оно выглядит в более широком размере окна просмотра. DevTools, показывающее приложение погоды, как оно выглядит в более узком размере окна просмотра.

Чтобы просмотреть страницу с разными точками останова:

Откройте DevTools, а затем включите режим устройства.По умолчанию он открывается в адаптивном режиме.

Для просмотра мультимедийных запросов откройте меню «Режим устройства» и выберите «Показать мультимедийные запросы», чтобы точки останова отображались в виде цветных полос над страницей.

Щелкните одну из полос, чтобы просмотреть свою страницу, пока этот медиа-запрос активен. Щелкните правой кнопкой мыши панель, чтобы перейти к определению медиа-запроса.

Последнее обновление: Улучшить статью

Адаптивный веб-дизайн | Центр поиска Google | Разработчики Google

Адаптивный веб-дизайн - это установка, при которой сервер всегда отправляет одно и то же HTML-код для всех устройств и CSS используется для изменения отображения страницы на Устройство.Алгоритмы Google должны иметь возможность автоматически определять эту настройку, если все Пользовательские агенты робота Googlebot могут сканировать страницу и ее ресурсы (CSS, JavaScript и изображения).

Адаптивный дизайн обслуживает все устройства с одним и тем же кодом, который настраивается на Размер экрана.

TL; DR

  • Используйте мета-тег name = "viewport" , чтобы указать браузеру, как настраивать содержимое.
  • Дополнительную документацию см. В разделе «Основы Интернета».

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

  
  

Тег meta viewport дает браузеру инструкции о том, как отрегулируйте размеры и масштаб страницы по ширине устройства. Когда отсутствует элемент meta viewport, мобильные браузеры по умолчанию отображают страницы при ширине экрана рабочего стола (обычно около 980 пикселей, хотя это зависит от устройств). Затем мобильные браузеры пытаются улучшить внешний вид контента, увеличивая размеры шрифта и либо масштабирование содержимого по размеру экрана, либо отображение только часть контента, которая умещается на экране.

Для пользователей это означает, что размеры шрифтов могут иметь непоследовательный вид, и пользователям может потребоваться двойное касание или масштабирование пальцем, чтобы увидеть и взаимодействовать с контентом. Что касается Google, мы можем не оценивать страницу как оптимизирован для мобильных устройств, поскольку требует такого взаимодействия с мобильное устройство.

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

Для адаптивных изображений добавьте элемент .

Как правило, если ваш сайт работает в недавнем браузере, таком как Google Chrome или Apple Mobile Safari, это будет работать с нашими алгоритмами.

Почему адаптивный дизайн

Мы рекомендуем использовать адаптивный веб-дизайн, потому что это:

  • Облегчает пользователям делиться вашим контентом и ссылаться на него с помощью одного URL.
  • Помогает алгоритмам Google точно назначать странице свойства индексации. вместо того, чтобы сигнализировать о существовании соответствующих страниц для настольных / мобильных устройств.
  • Требуется меньше времени на разработку для поддержки нескольких страниц с одним и тем же содержимым.
  • Снижает вероятность типичных ошибок, влияющих на мобильные сайты.
  • Не требует перенаправления для пользователей, чтобы получить оптимизированное для устройства представление, которое сокращает время загрузки. Кроме того, перенаправление на основе пользовательского агента подвержено ошибкам и может ухудшить пользовательский интерфейс вашего сайта (см. Подводные камни при обнаружении пользовательских агентов подробнее).
  • Сохраняет ресурсы, когда робот Googlebot сканирует ваш сайт. Для адаптивного веб-дизайна страниц, одному пользовательскому агенту робота Googlebot необходимо просканировать вашу страницу только один раз, вместо того, чтобы сканировать несколько раз разными пользовательскими агентами Googlebot, чтобы получить все версии содержимого. Это повышение эффективности сканирования может косвенно помочь Google проиндексировать больше контента вашего сайта и сохранить его соответственно свежий.

Если вас интересует адаптивный веб-дизайн, начните с нашего сообщения в блоге в блоге Центра поиска Google и посетите сайт Основы веб-поиска.

Важно: Не блокируйте сканирование любых ресурсов страницы (CSS, JavaScript и изображения) для любого робота Google с использованием robots.txt или других методов. Быть способным полный доступ к этим внешним файлам помогает нашим алгоритмам обнаруживать адаптивная конфигурация веб-дизайна и относитесь к ней должным образом. Внимание: Чтобы убедиться, что ваша реализация успешна, избегайте типичных ошибок.

JavaScript

Одна часть создания сайтов, оптимизированных для мобильных устройств, требует осторожного рассмотрение - это использование JavaScript для изменения рендеринга и поведения сайт на разных устройствах.Типичные варианты использования JavaScript включают решение какое объявление или какой вариант разрешения изображения показывать на странице.

В этом разделе описаны различные подходы к использованию JavaScript и то, как они относятся к рекомендации Google по использованию адаптивного веб-дизайна.

Общие конфигурации

Три популярные реализации JavaScript для сайтов, оптимизированных для мобильных устройств:

  • JavaScript-адаптивный : в этой конфигурации все устройства обслуживаются тот же контент HTML, CSS и JavaScript.Когда JavaScript выполняется на изменяется устройство, отображение или поведение сайта. Если веб-сайт требует JavaScript, это рекомендуемая конфигурация Google .
  • Комбинированное обнаружение : В этой реализации веб-сайт использует оба JavaScript и серверное определение возможностей устройства для обслуживания различный контент на разные устройства.
  • Динамически обслуживаемый JavaScript : в этой конфигурации все устройства обслуживает тот же HTML, но JavaScript обслуживается с URL-адреса, динамически обслуживает различный код JavaScript в зависимости от устройства пользовательский агент.

Давайте подробно рассмотрим каждую из этих конфигураций.

JavaScript-адаптивный

В этой конфигурации URL-адрес обслуживает то же содержимое (HTML, CSS, JavaScript, изображение) на все устройства. Только когда на устройстве выполняется JavaScript, изменение рендеринга или поведения сайта. Это похоже на то, как отзывчивый веб дизайн, используя медиа-запросы CSS, работает.

В качестве примера, на странице для всех устройств используется один и тот же HTML-код, который включает