Дизайн
Siarhei Plashchynski
8634

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

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

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

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

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

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

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

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

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

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

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

Царь-форма

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

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

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

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

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

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

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

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

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Siarhei Plashchynski", "author_type": "self", "tags": ["\u0444\u043e\u0440\u043c\u0430","\u043a\u043d\u043e\u043f\u043a\u0430"], "comments": 8, "likes": 77, "favorites": 183, "is_advertisement": false, "subsite_label": "design", "id": 64093, "is_wide": false, "is_ugc": true, "date": "Wed, 10 Apr 2019 14:38:58 +0300", "is_special": false }
0
{ "id": 64093, "author_id": 52629, "diff_limit": 1000, "urls": {"diff":"\/comments\/64093\/get","add":"\/comments\/64093\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/64093"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199114, "last_count_and_date": null }
8 комментариев
Популярные
По порядку
Написать комментарий...

Комментарий удален

2

Отличная статья, спасибо.

Ответить
–1

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

Ответить
3

Хорошо, что вы себя идентифицируете сразу. Так мы имеем представление и о вас

Ответить
0

Но как может быть одинаковый вес у светло-серого поля и черной/яркой кнопки?..

Ответить
1

Иллюстрировано как раз таки в статье

Ответить
1

Ну вес это ведь просто термин (а как еще удачнее назвать-то?)

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

Когда я только начинал изучать проектирование и дизайн интерфейсов, меня больше всего поражали советы вроде "Делайте кнопку КУПИТЬ большой, яркой и заметной, и помещайте ее туда, где ее легко будет найти". Я тогда думал - ппц, разве это неочевидно? Что за имбецилия? А потом выяснилось, что 99,9999% интерфейсов и вправду страдают имбецилизмом, и разобраться в них бывает очень сложно даже для продвинутого юзера - как раз вот из-за таких мелочей.

Ответить
0

Вес зависит не только от цвета. Есть еще размер, форма и положение относительно друг друга.

Ответить
0

Как раз столкнулся с подобной задачей, прям под руку!)

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }