--- name: psychology/visual-hierarchy title: Visual Hierarchy & Conversion Patterns description: Principles of visual hierarchy, CTA placement, and cognitive design patterns for maximum conversion. tags: [psychology, ux, conversion, hierarchy, accessibility] source: cialdini.com, Nielsen Norman Group, stripe.com, linear.app --- # Visual Hierarchy & Conversion Patterns ## Что это Система визуальной иерархии, которая направляет взгляд пользователя к целевому действию (CTA). Комбинация психологии поведения и технических приёмов. ## 7 Принципов Визуальной Иерархии ### 1. Размер (Size) Крупнее = важнее. H1 должен быть в 2–3x крупнее body text. ```css /* ✅ Правильный масштаб */ h1 { font-size: clamp(2.5rem, 6vw, 4rem); } /* 40–64px */ h2 { font-size: clamp(1.8rem, 4vw, 2.5rem); } /* 29–40px */ h3 { font-size: var(--text-xl); } /* 20px */ p { font-size: var(--text-base); } /* 16px */ ``` ### 2. Контраст (Contrast) Высококонтрастные элементы привлекают внимание. CTA — самый контрастный элемент на странице. ```css /* ✅ CTA имеет максимальный контраст */ .btn-primary { background: #6366f1; color: #ffffff; /* Контраст 4.5:1+ для WCAG AA */ } /* ❌ Плохо — CTA сливается с фоном */ .btn-bad { background: rgba(99, 102, 241, 0.2); color: #888888; } ``` ### 3. Пространство (Whitespace) Больше пустого пространства вокруг = больше внимания. ```css .section { padding: 128px 0; /* Премиум — много воздуха */ } .card { padding: 48px; /* Карточки с воздухом внутри */ } ``` ### 4. Цвет (Color) Используйте акцентный цвет ТОЛЬКО для CTA и ключевых элементов. ```css /* Правило 60-30-10 */ /* 60% — нейтральный фон (тёмный) */ /* 30% — вторичный текст (серый) */ /* 10% — акцентный цвет (CTA, важные цифры) */ ``` ### 5. Расположение (Position) - **F-pattern** для текстовых страниц - **Z-pattern** для экранов с CTA - **Above the fold** — ключевое сообщение + CTA ``` Z-PATTERN: ┌─────────────────────────────────┐ │ Logo [CTA Button] │ ← Начало взгляда ├─────────────────────────────────┤ │ │ │ Главный заголовок │ │ Подзаголовок │ │ │ │ [CTA] │ ← Конец взгляда └─────────────────────────────────┘ ``` ### 6. Группа (Grouping / Gestalt) Связанные элементы группируются вместе (близость). Разные группы разделяются пространством. ```html

Feature 1

Description

Learn more

Feature 1

Description

Learn more
``` ### 7. Последовательность (Sequence) Информация подается в логическом порядке: 1. Проблема (боль) 2. Решение (наш продукт) 3. Доказательство (кейс, цифры) 4. Действие (CTA) ## CTA Placement Patterns ### Pattern 1: Hero CTA (первый экран) ``` [Логотип] [CTA] [Заголовок] [Подзаголовок] [CTA] [CTA secondary] ``` ```html

Главный заголовок

Подзаголовок

Начать → Смотреть демо
``` ### Pattern 2: Contextual CTA (после секции) ``` [Секция с описанием проблемы] [CTA "Решить проблему"] ``` ### Pattern 3: Sticky CTA (всегда виден) ```css .sticky-cta { position: fixed; bottom: 24px; right: 24px; z-index: 100; opacity: 0; transform: translateY(20px); transition: all 0.3s ease; } .sticky-cta.visible { opacity: 1; transform: translateY(0); } ``` ### Pattern 4: Exit Intent CTA ```javascript let exitShown = false; document.addEventListener('mouseleave', (e) => { if (e.clientY < 0 && !exitShown) { exitShown = true; showExitPopup(); } }); function showExitPopup() { // Показать модальное окно с предложением } ``` ## Social Proof Placement ``` [Hero CTA] ↓ [Логотипы клиентов — 5–7 логотипов в ряд, монохром] ↓ [Секция "Цифры" — 3–4 больших числа] ↓ [Отзывы клиентов — карточки] ↓ [CTA] ``` ```css /* Логотипы клиентов — монохром */ .client-logos { display: flex; gap: 48px; align-items: center; opacity: 0.4; filter: brightness(0) invert(1); transition: opacity 0.3s; } .client-logos:hover { opacity: 0.7; } /* Карточки отзывов */ .testimonial-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 16px; padding: 32px; } ``` ## Hick's Law Application **Чем больше вариантов, тем дольше принимается решение.** ``` ❌ 5 кнопок в навигации + 3 CTA на экране = низкая конверсия ✅ 1 CTA на экран + 3–5 пунктов в навигации ``` ```html

Главное сообщение

Начать бесплатно →

Без кредитной карты

``` ## Fitts's Law Application **Крупные элементы в доступных зонах = быстрее кликают.** ```css .btn-primary { min-width: 160px; /* Минимальная ширина */ min-height: 48px; /* Минимальная высота (палец) */ padding: 16px 32px; /* Щедрые отступы */ font-size: 1rem; font-weight: 600; } ``` ## Anti-patterns | ❌ Плохо | ✅ Хорошо | |----------|-----------| | 3 CTA на экране | 1 главный CTA + 1 вторичный | | CTA сливается с фоном | CTA — самый контрастный элемент | | Текст 12px | Минимум 16px для body | | Без whitespace | 128px между секциями | | Сложная навигация | 3–5 пунктов | | Без визуальных направляющих | Стрелки, взгляды, линии к CTA | ## CV Service Validation ```bash # Проверить визуальную иерархию curl -s -X POST http://localhost:8001/design/analyze \ -H "Content-Type: application/json" \ -d '{"image_base64": "...", "full_analysis": false}' | python3 -c " import sys, json d = json.load(sys.stdin) vh = d['dimensions'].get('visual_hierarchy', {}) print(f\"Visual Hierarchy: {vh.get('score', 'N/A')}/10\") print(f\" Focal points: {vh.get('focal_points', 'N/A')}\") print(f\" Eye flow: {vh.get('eye_flow', 'N/A')}\") " ``` Ожидается: `visual_hierarchy` > 7.