← Все статьи

Окна во фронтенде

CSS pane: живой редактор CSS на любой странице, без DevTools

Стандартный воркфлоу экспериментов с CSS: открываешь DevTools, кликаешь Elements, находишь узел, правишь inline-стиль, перезагружаешь — и всё пропало. У JustZix v2.13.40+ есть CSS pane — плавающая textarea, внедрённая в страницу, с живым внедрением <style>. Печатаешь CSS, видишь изменение через 200 мс, содержимое сохраняется между перезагрузками во вкладке. Никакого DevTools, никакого F5.

Что это конкретно

CSS pane — это маленькое перетаскиваемое окно на странице (fixed, z-index 2147483640) с заголовком (цветная точка + имя) и textarea внутри. То, что ты печатаешь, проходит через debounce 200 мс в <style id="jz-pane-style-{id}"> в <head> — ты сразу видишь эффект. Содержимое живёт в sessionStorage этой вкладки — перезагрузи страницу, содержимое останется; закрой вкладку, оно пропало (намеренно: pane — это блокнот, не постоянный архив).

Твой первый pane за 30 секунд

  1. Открой опции JustZix → выбери папку, группу или правило с совпадением URL.
  2. Нажми «CSS panes (0)» → модальное окно со списком. Нажми «+ Добавить новый CSS pane».
  3. Введи имя («Тест»), выбери цвет для точки — сохраняется автоматически.
  4. Посети страницу, совпадающую со scope. В правом верхнем углу (якорь по умолчанию) появляется pane.
  5. Напечатай body { background: red; } — фон страницы становится красным через 200 мс.

Живой предпросмотр — debounce и очистка

Debounce 200 мс существует, чтобы быстрая печать не спамила reflow. На практике это незаметно — через 0,2 с изменение видно. Чтобы очистить все стили: очисти textarea. Pane внутренне записывает пустую строку в <style>, так что и очистка мгновенна.

Селекторы: пиши их так же, как в настоящем правиле. !important часто нужен, потому что у хост-сайта свои стили. Pane ты используешь в основном для тестирования — когда результат тебе нравится, скопируй CSS в настоящее правило (вкладка CSS на карточке правила) для постоянного использования.

Хранение по вкладке (sessionStorage)

Всё, что ты печатаешь, попадает в sessionStorage['jz_pane_{id}_content'] текущей вкладки. Последствия:

Когда ты сделал что-то, что хочешь сохранить — перенеси это в обычное CSS-правило в опциях. Pane — не место для долгосрочного хранения кода.

Мульти-pane — 3 окна на одной странице

У тебя может быть любое количество CSS panes в одном scope. Каждый — отдельный <style> в head, каждый владеет своим содержимым в sessionStorage. На практике:

Каждый — со своим цветом точки (зелёный, красный, синий). Визуально с первого взгляда ясно, что у тебя 3 независимых набора стилей.

Иерархия scope (папка → группа → правило)

Pane можно привязать к папке, группе или правилу:

ScopeКогда появляется paneСценарий применения
ПапкаURL совпадает с folder.urlPatternsCSS-эксперименты по всему магазину
ГруппаСовпадение папки + URL-фильтр группыЭксперименты по секции (например, checkout)
ПравилоПапка + группа + URL-фильтр правилаЭксперименты на конкретной странице

Наследование: в виде группы ты видишь собственные panes + унаследованные от папки. В виде правила — собственные + группы + папки. Как правила CSS/JS — полная иерархия.

Поделиться с коллегой

Panes проходят через тот же механизм синхронизации, что и правила. Сгенерируй ссылку для импорта → получатель получит и твои panes. Сценарий применения:

  1. Фронтенд-консультант заходит в магазин клиента, экспериментирует в pane «Редизайн шапки».
  2. Нажимает «Поделиться» — ссылка действует 24 ч.
  3. Клиент открывает ссылку в своём Chrome → импортирует → pane «Редизайн шапки» появляется у него.
  4. Клиент видит результат в своей вкладке. Одобряет? Консультант копирует содержимое pane в постоянное CSS-правило.

Ловушки

Что делать дальше

CSS pane — первый из 4 типов «окон на странице» JustZix. Следующие два — JS pane (JavaScript Run-on-demand) и JS Console (REPL с историей ↑↓). О них мы написали в отдельных статьях.

Установи JustZix и перестань держать DevTools открытыми только ради того, чтобы набросать селектор время от времени.

Оцени эту статью

Оценок пока нет — оцени первым.

Попробуй сам

Установи JustZix и вставь любой сниппет из этой статьи. Две минуты от нуля до работающего правила на всех твоих устройствах.

Получить JustZix

Возможности · Как это работает · Примеры · Применение