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

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

Оптическая компенсация круга

Это базовое знание, с него начинается любой курс для начинающих.

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

А если этот принцип применить шире? Там, где нет ничего круглого, но один элемент так же может потерять вес относительно другого, равноценного ему. Например, в формах.

Поле и кнопка в одну строку

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

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

Два поля и кнопка в столбик

Форма может быть вертикальной и состоять из нескольких полей и кнопки. Как на авторизации, скажем. И здесь тоже всё одинакового размера и хорошо работает.

Царь-форма

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

Это лучше видно на реальном примере.

Форма с кнопкой увеличенной высотой и общего размера

Здесь хорошо вспомнить принцип оптической компенсации и пойти схожим путём: повысить вес кнопки за счёт увеличения её высоты относительно полей формы.

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

Размер кнопок в библиотеке элементов

Если тебе повезло (или не повезло) и у проекта есть библиотека элементов, достаточно взять из неё кнопку на один размер больше. Если в форме поля размера S, то кнопку берём M, если поля M, то кнопка L. Принцип простой.

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

Источник