Многие специалисты ищут качественные промпты для верстальщика, но в итоге находят лишь поверхностные списки, которые не работают на реальных задачах. Результат – разочарование в технологии и потерянное время. Кажется, что нейросеть просто не способна генерировать хороший код.
Проблема не в нейросети, а в качестве запросов. Общие команды дают общие ответы, бесполезные в настоящем проекте. Чтобы получить чистый, рабочий и адаптивный код, нужно научиться ставить задачу правильно: с контекстом, ограничениями и четкими требованиями к формату.
Эта статья – практическое руководство. В ней собраны не просто примеры, а готовые шаблоны, которые предвосхищают ошибки и помогают получать предсказуемый результат. Здесь вы найдете решения для множества повседневных задач:
- Создание чистой HTML-разметки по методологии БЭМ.
- Написание современных и адаптивных CSS-стилей с использованием Flexbox и Grid.
- Генерация JavaScript-кода для интерактивных элементов интерфейса.
- Оптимизация, исправление и документирование существующего кода.
Материал построен так, чтобы вы не просто скопировали текст, а поняли логику составления эффективных запросов. Это поможет в будущем самостоятельно формулировать команды для любых, даже самых сложных задач верстки.
Типичные ошибки при составлении запросов к ИИ
Прежде чем переходить к готовым решениям, важно понять, какие ошибки чаще всего допускают специалисты. Избегая этих ловушек, вы сразу повысите качество генерируемого кода в несколько раз. Многие наступают на эти грабли, теряя часы на исправление того, что можно было сразу сделать правильно.
- Использовать абстрактные команды вроде “сделай красиво” или “улучши дизайн”. Нейросеть – это исполнитель кода, а не дизайнер с врожденным чувством стиля. Она не понимает субъективных оценок и выдаст клишированный или совершенно неподходящий результат.
- Забывать о контексте всего проекта. Если попросить сверстать кнопку, не указав, где она будет использоваться (в шапке, в форме, в карточке товара), вы получите универсальный, но безликий элемент, который придется долго дорабатывать напильником.
- Слепо копировать сгенерированный код, не проводя проверку. ИИ может допускать неочевидные ошибки, использовать устаревшие подходы или создавать уязвимости. Любой код, особенно JavaScript, требует внимательного код-ревью перед добавлением в проект.
- Просить написать код, игнорируя принятые в проекте методологии и стандарты. Если вы используете БЭМ, а в промпте это не указали, нейросеть сгенерирует набор классов вразнобой, нарушая всю структуру и консистентность проекта. Конечно, если ваша цель – хаос в стилях, то это отличный способ.
- Пытаться сгенерировать всю страницу или весь сайт одним запросом. Это верный путь к провалу. Модель плохо справляется с огромными задачами, ее ответ будет неполным, запутанным и полным ошибок. Работайте итерационно, по одному компоненту за раз.
- Не указывать технические ограничения и требования к совместимости. Без указания “использовать только ES6 синтаксис” или “обеспечить совместимость с Safari 14” вы рискуете получить код, который просто не будет работать у части ваших пользователей.
Сравнение формулировок: от слабого запроса к сильному результату
Разница между бесполезным и рабочим кодом часто кроется в деталях формулировки. В этой таблице наглядно показано, как превратить расплывчатую просьбу в точную техническую задачу, которая принесет ожидаемый результат. Обратите внимание, как добавление контекста, ограничений и формата меняет итог.
| Задача | Слабый промпт (частая ошибка) | Сильный промпт (как надо) |
| Создать кнопку | Напиши HTML и CSS для кнопки. | Создай HTML и CSS для основной кнопки (call-to-action). Используй тег button. Стиль: синий фон #007bff, белый текст, скругление углов 8px, внутренние отступы 12px 24px. При наведении курсора фон должен становиться темнее (#0056b3). Не использовать сторонние библиотеки. Код должен быть в одном блоке. |
| Сверстать карточку товара | Сделай карточку товара с картинкой, названием и ценой. | Ты – опытный верстальщик. Создай HTML и CSS для карточки товара. Используй семантические теги. Структура: изображение сверху, под ним заголовок h3, абзац с коротким описанием и цена. Цена должна быть выделена жирным. Внизу – кнопка “Добавить в корзину”. Используй Flexbox для выравнивания. Карточка должна иметь тень и скругленные углы. Ширина карточки – 300px. |
| Сделать адаптивное меню | Сверстай навигационное меню для сайта. | Создай HTML, CSS и JS для адаптивного навигационного меню. На экранах шире 768px меню должно быть горизонтальным. На экранах уже 768px – скрываться под иконкой “бургер”. При клике на “бургер” меню плавно выезжает сбоку. Используй CSS-переходы для анимации. JavaScript должен быть написан на чистом ES6, без jQuery. |
| Написать стили для сетки | Нужна сетка из 3 колонок. | Напиши CSS-код для создания адаптивной сетки с помощью CSS Grid. На десктопах (от 1024px) должно быть 3 колонки одинаковой ширины. На планшетах (от 768px до 1023px) – 2 колонки. На мобильных устройствах (до 767px) – 1 колонка. Расстояние между элементами сетки (gap) – 20px. |
Рабочие промпты для верстальщика: 25 готовых примеров
Ниже представлены 25 детализированных промптов для решения повседневных задач верстальщика. Каждый шаблон – это результат отсева неудачных формулировок и поиска оптимальной структуры. Используйте их как основу, подставляя свои данные в квадратные скобки.
1. Генерация HTML-структуры компонента по БЭМ
Проблема: Нужно быстро создать HTML-каркас для нового компонента, соблюдая строгую структуру именования классов по методологии БЭМ, чтобы избежать хаоса в проекте.
Решение: Промпт генерирует чистую и валидную HTML-разметку с классами, полностью соответствующими БЭМ-нотации.
Текст промпта:
*****
Ты – эксперт по HTML-верстке и методологии БЭМ. Твоя задача – создать HTML-структуру для компонента “[укажите название компонента, например, ‘карточка профиля пользователя’]”.
Название блока: “[укажите название блока, например, ‘profile-card’]”.
Компонент должен включать следующие элементы:
[перечислите элементы компонента, например:
– Аватар пользователя (изображение)
– Имя пользователя (заголовок)
– Короткая биография (абзац)
– Кнопка “Подписаться” (кнопка)]
Сгенерируй только HTML-код. Используй теги с максимальной семантической точностью. Все классы должны строго соответствовать БЭМ-нотации (блок__элемент, блок–модификатор). Не добавляй CSS или JavaScript.
*****
Почему это работает: Четкое указание роли (“эксперт по БЭМ”), названия блока и перечня элементов не оставляет нейросети пространства для импровизации. Требование строго следовать нотации гарантирует правильное именование классов.
2. Создание CSS-стилей для Flexbox-контейнера
Проблема: Необходимо быстро стилизовать блок с помощью Flexbox, но помнить все свойства и их значения бывает утомительно.
Решение: Промпт генерирует готовый CSS-код для Flexbox-контейнера с нужными параметрами выравнивания, распределения и переноса элементов.
Текст промпта:
*****
Ты – frontend-разработчик, специалист по CSS Flexbox. Напиши CSS-код для класса “[укажите имя класса, например, ‘.card-container’]”.
Этот класс должен определять Flexbox-контейнер со следующими свойствами:
– Направление основной оси: [укажите направление, например, “горизонтальное (row)”]
– Выравнивание элементов по основной оси: [укажите свойство justify-content, например, “пространство между элементами (space-between)”]
– Выравнивание элементов по поперечной оси: [укажите свойство align-items, например, “по центру (center)”]
– Перенос элементов: [укажите, нужен ли перенос, например, “разрешить перенос на новую строку (wrap)”]
Сгенерируй только CSS-код. Добавь короткие комментарии к каждому свойству, объясняющие его назначение.
*****
Почему это работает: Запрос оперирует конкретными свойствами Flexbox (justify-content, align-items). Указание роли и просьба добавить комментарии заставляют модель выдать не просто код, а хорошо документированный и понятный фрагмент стилей.
3. Написание стилей для CSS Grid-раскладки
Проблема: Создание сложной сеточной раскладки с помощью CSS Grid требует написания большого количества кода, особенно для адаптивности.
Решение: Промпт позволяет быстро сгенерировать CSS для сложной Grid-сетки, включая определение колонок, рядов и областей.
Текст промпта:
*****
Ты – эксперт по CSS Grid Layout. Создай CSS для контейнера с классом “[укажите класс, например, ‘.page-layout’]”.
Сетка должна иметь следующую структуру:
– Колонки: [опишите колонки, например, “три колонки: первая и третья по 1fr, центральная – 3fr”]
– Ряды: [опишите ряды, например, “два ряда: верхний ‘auto’, нижний ‘1fr'”]
– Области (grid-template-areas): [опишите области, например, “‘header header header’, ‘sidebar content content’, ‘footer footer footer'”]
– Расстояние между ячейками (gap): “[укажите значение, например, ’15px’]”.
Напиши только CSS-код для родительского контейнера. Предоставь также примеры CSS-правил для дочерних элементов, чтобы разместить их в областях (header, sidebar, content, footer).
*****
Почему это работает: Промпт использует специфическую терминологию CSS Grid (grid-template-areas, fr, gap), что направляет модель на генерацию точного кода. Просьба предоставить примеры для дочерних элементов делает ответ исчерпывающим и готовым к использованию.
4. Создание адаптивной сетки для страницы
Проблема: Нужно создать CSS-код для сетки элементов (например, карточек товаров), которая корректно отображается на всех типах устройств.
Решение: Этот запрос генерирует CSS с медиазапросами, которые изменяют количество колонок в сетке в зависимости от ширины экрана.
Текст промпта:
*****
Ты – верстальщик, специализирующийся на адаптивной верстке. Напиши CSS-код для создания адаптивной сетки элементов.
Используй [выберите технологию, например, “CSS Grid” или “Flexbox”].
Селектор контейнера: “[укажите селектор, например, ‘.product-grid’]”.
Поведение сетки:
– На экранах шире 1200px: [укажите количество колонок, например, “4 колонки”]
– На экранах от 992px до 1199px: [укажите количество колонок, например, “3 колонки”]
– На экранах от 768px до 991px: [укажите количество колонок, например, “2 колонки”]
– На экранах уже 767px: [укажите количество колонок, например, “1 колонка”]
Расстояние между элементами сетки: “[укажите значение, например, ’24px’]”.
Сгенерируй полный CSS-код с медиазапросами (media queries).
*****
Почему это работает: Запрос четко определяет “точки останова” (breakpoints) и желаемое поведение на каждом из них. Это позволяет ИИ сгенерировать точные медиазапросы, избавляя от рутинной работы по их написанию.
5. Генерация JS для открытия/закрытия модального окна
Проблема: Написание JavaScript для управления видимостью модального окна – частая, но требующая внимания задача (обработка кликов, закрытие по Esc и т.д.).
Решение: Промпт генерирует готовый, чистый JavaScript-код для полного цикла работы модального окна.
Текст промпта:
*****
Ты – JavaScript-разработчик. Напиши код на чистом JavaScript (ES6+) для управления модальным окном.
HTML-структура:
– Кнопка открытия с id: “[укажите id, например, ‘openModalBtn’]”
– Модальное окно с id: “[укажите id, например, ‘myModal’]”
– Кнопка закрытия внутри окна с классом: “[укажите класс, например, ‘.close-button’]”
Требуемая функциональность:
1. При клике на кнопку открытия модальное окно должно появляться (добавлять класс ‘is-open’).
2. При клике на кнопку закрытия или на фон вне окна, оно должно скрываться (убирать класс ‘is-open’).
3. При нажатии клавиши ‘Escape’ окно также должно скрываться.
Сгенерируй только JavaScript-код. Код должен быть хорошо прокомментирован.
*****
Почему это работает: Промпт не просто просит “сделать модалку”, а предоставляет точные селекторы (id, классы) и перечисляет все необходимые триггеры (клик по кнопке, клик вне, клавиша Esc). Это гарантирует полнофункциональный и продуманный скрипт.
6. Рефакторинг “грязного” CSS-кода
Проблема: Имеется фрагмент CSS с重复рующимися стилями, длинными селекторами и магическими числами, который сложно поддерживать.
Решение: Этот промпт анализирует предоставленный CSS и предлагает оптимизированную версию, следуя лучшим практикам.
Текст промпта:
*****
Ты – опытный frontend-архитектор, специалист по рефакторингу CSS. Проанализируй следующий CSS-код и предложи его улучшенную версию.
Цели рефакторинга:
– Уменьшить вложенность селекторов.
– Сгруппировать общие свойства для похожих элементов.
– Заменить “магические числа” (например, `margin-left: 13.5px;`) на более универсальные значения или переменные.
– Улучшить читаемость и структуру кода.
Объясни, какие именно изменения ты внес и почему они делают код лучше.
Исходный CSS-код для рефакторинга:
“`css
[вставьте сюда ваш “грязный” CSS-код]
“`
Формат ответа: сначала исправленный CSS, затем список внесенных улучшений с объяснениями.
*****
Почему это работает: Роль “архитектора” и четко поставленные цели (уменьшить вложенность, сгруппировать) направляют ИИ на глубокий анализ, а не поверхностное форматирование. Требование объяснить изменения превращает ответ в обучающий материал.
7. Поиск и исправление ошибок в JavaScript
Проблема: Скрипт не работает, как ожидалось, но ошибка не очевидна.
Решение: Промпт дает ИИ задачу выступить в роли отладчика: найти логические или синтаксические ошибки в коде и предложить исправление.
Текст промпта:
*****
Ты – опытный JavaScript-разработчик и отладчик. Проанализируй этот код. Он должен [опишите, что должен делать код, например, “скрывать элемент при клике”], но он не работает.
Найди ошибку(и) в коде, исправь ее и подробно объясни, в чем была проблема и почему предложенное тобой решение ее исправляет.
Код для анализа:
“`javascript
[вставьте сюда ваш неработающий JS-код]
“`
Формат ответа:
1. Описание найденной ошибки.
2. Исправленный код.
3. Подробное объяснение.
*****
Почему это работает: Запрос не просто просит “исправить код”, а требует выступить в роли отладчика и объяснить причину. Описание ожидаемого поведения помогает ИИ понять цель кода и быстрее найти логическую ошибку.
8. Добавление ARIA-атрибутов для доступности
Проблема: Компонент сверстан, но не доступен для пользователей с экранными ридерами.
Решение: Промпт анализирует HTML-структуру и добавляет необходимые WAI-ARIA атрибуты для улучшения доступности (a11y).
Текст промпта:
*****
Ты – эксперт по веб-доступности (a11y). Твоя задача – улучшить доступность следующего HTML-компонента, добавив необходимые WAI-ARIA роли и атрибуты.
Компонент представляет собой [опишите компонент, например, “аккордеон” или “вкладки (табы)”].
Добавь атрибуты, такие как `role`, `aria-expanded`, `aria-controls`, `aria-labelledby`, и другие, где это необходимо.
Вот HTML-код для улучшения:
[вставьте сюда ваш HTML-код без ARIA-атрибутов]
Верни обновленный HTML-код и добавь краткие комментарии, объясняющие, для чего нужен каждый добавленный атрибут.
*****
Почему это работает: Роль “эксперта по доступности” заставляет модель сфокусироваться на специфических атрибутах ARIA. Описание типа компонента (“аккордеон”) дает ключ к пониманию его интерактивного поведения и нужных ролей.
9. Оптимизация SVG-иконки
Проблема: SVG-иконка, выгруженная из графического редактора, содержит много лишнего кода: метаданные, комментарии, избыточные теги.
Решение: Промпт “чистит” SVG-код, удаляя все ненужное и оптимизируя его для использования на веб-странице.
Текст промпта:
*****
Ты – инструмент для оптимизации SVG. Проанализируй следующий SVG-код и оптимизируй его для использования в вебе.
Задачи оптимизации:
– Удалить метаданные редактора (например, комментарии, теги `
– Удалить XML-инструкции и DOCTYPE.
– Удалить ненужные атрибуты, такие как `id`, `class`, если они не используются.
– Сократить числовые значения до необходимой точности (2-3 знака после запятой).
– Преобразовать стили из атрибутов в единый `style` или наоборот, если это уменьшит размер.
Вот SVG-код для оптимизации:
“`xml
[вставьте сюда ваш исходный SVG-код]
“`
Верни только оптимизированный SVG-код.
*****
Почему это работает: Запрос перечисляет конкретные шаги оптимизации, которым должна следовать модель. Это превращает ее в аналог специализированного инструмента вроде SVGO, но с гибкой настройкой через текст.
10. Создание CSS-анимации при наведении
Проблема: Нужно добавить простой, но элегантный интерактивный эффект для элемента, например, для кнопки или ссылки.
Решение: Промпт генерирует CSS-код для создания анимационного эффекта при наведении курсора, используя `transition` и `transform`.
Текст промпта:
*****
Ты – CSS-аниматор. Напиши CSS-код для элемента с классом “[укажите класс, например, ‘.animated-button’]”.
При наведении курсора на этот элемент должен происходить следующий эффект: [опишите эффект, например, “элемент плавно сдвигается вверх на 5px и его тень становится более выраженной”].
Длительность анимации: [укажите время, например, “0.3 секунды”].
Функция плавности: [укажите функцию, например, “ease-in-out”].
Используй свойства `transition` и `transform`. Не используй JavaScript.
Сгенерируй только CSS-код.
*****
Почему это работает: Конкретное описание желаемого визуального эффекта, указание длительности и функции плавности дают ИИ все необходимые параметры для создания точного и аккуратного CSS-кода с переходами.
11. Написание стилей для кастомного чекбокса
Проблема: Стандартные чекбоксы выглядят по-разному в браузерах и не вписываются в дизайн проекта. Нужно создать свой, стилизованный чекбокс.
Решение: Промпт генерирует HTML и CSS для создания полностью кастомного чекбокса с использованием псевдоэлементов.
Текст промпта:
*****
Ты – frontend-разработчик. Создай HTML и CSS для стилизации чекбокса.
Задача: полностью скрыть стандартный `` и нарисовать кастомный вид с помощью `
*****
Почему это работает: Промпт описывает конкретную технику (скрыть input, использовать label и псевдоэлементы), что является стандартным подходом. Описание вида в двух состояниях дает четкие инструкции для стилизации.
12. Генерация HTML и CSS для формы обратной связи
Проблема: Нужно быстро сверстать стандартную форму с полями и кнопкой, обеспечив базовую структуру и стилизацию.
Решение: Запрос генерирует готовую разметку и стили для простой, но аккуратной формы обратной связи.
Текст промпта:
*****
Ты – верстальщик. Создай HTML и CSS для формы обратной связи.
Форма должна содержать следующие поля:
– Имя (текстовое поле, обязательное)
– Email (поле для email, обязательное)
– Сообщение (текстовая область, textarea)
– Кнопка “Отправить”
Используй тег `