← All posts

Windows on the frontend

CSS pane: a live CSS editor on any page, without DevTools

Standard CSS-experimentation workflow: open DevTools, click Elements, find the node, edit inline style, refresh — and it's all gone. JustZix v2.13.40+ has CSS pane — a floating textarea injected on the page with live <style> injection. You type CSS, you see the change in 200 ms, content persists across reloads in the tab. No DevTools, no F5.

What it actually is

A CSS pane is a small draggable window on the page (fixed, z-index 2147483640) with a header (coloured dot + name) and a textarea inside. Whatever you type goes through a 200 ms debounce into <style id="jz-pane-style-{id}"> in <head> — you immediately see the effect. Content lives in sessionStorage for that tab — refresh the page, content stays; close the tab, it's gone (intentional: a pane is a scratch pad, not persistent storage).

Your first pane in 30 seconds

  1. Open JustZix options → pick a folder, group or rule with URL matching.
  2. Click "CSS panes (0)" → modal with the list. Click "+ Add new CSS pane".
  3. Enter a name ("Test"), pick a dot colour — saved automatically.
  4. Visit a page matching the scope. In the top-right corner (default anchor) the pane appears.
  5. Type body { background: red; } — the page background turns red after 200 ms.

Live preview — debounce and clearing

The 200 ms debounce exists so fast typing doesn't spam reflows. In practice it's imperceptible — after 0.2s the change is visible. To wipe all styles: clear the textarea. The pane internally writes an empty string to <style>, so clearing is instant too.

Selectors: write them the same way you would in a real rule. !important is often needed because the host site has its own styles. You use the pane mainly to test — once you like the result, copy the CSS into a real rule (CSS tab on a rule card) for permanent use.

Per-tab persistence (sessionStorage)

Everything you type lands in sessionStorage['jz_pane_{id}_content'] for the current tab. Consequences:

When you've made something you want to keep — move it to a regular CSS rule in options. The pane isn't a place to keep code long-term.

Multi-pane — 3 windows on one page

You can have any number of CSS panes in the same scope. Each is a separate <style> in head, each owns its content in sessionStorage. In practice:

Each in a different dot colour (green, red, blue). Visually clear at a glance that you have 3 independent style sets.

Scope hierarchy (folder → group → rule)

A pane can be attached to a folder, group or rule:

ScopeWhen the pane appearsUse case
FolderURL matches folder.urlPatternsSite-wide CSS experiments across the whole shop
GroupFolder match + group URL filterPer-section experiments (e.g. checkout)
RuleFolder + group + rule URL filterExperiments on one specific page

Inheritance: on a group view you see own panes + inherited from the folder. On a rule view — own + group + folder. Same as CSS/JS rules — full hierarchy.

Share with a colleague

Panes flow through the same sync mechanism as rules. Generate a share link → the recipient gets your panes too. Use case:

  1. A front-end consultant joins a client's shop, experiments in a "Header redesign" pane.
  2. Clicks "Share" — link valid for 24h.
  3. The client opens the link in their Chrome → imports → the "Header redesign" pane shows up for them.
  4. The client sees the result on their tab. Approves? The consultant copies the pane content into a permanent CSS rule.

Pitfalls

What's next

The CSS pane is the first of 4 "windows on the frontend" types in JustZix. The next two are JS pane (Run-on-demand JavaScript) and JS Console (REPL with ↑↓ history). We've written about them in separate posts.

Install JustZix and stop keeping DevTools open just to drop in the occasional selector.

Rate this post

No ratings yet — be the first.

Try it yourself

Install JustZix and paste any snippet from this article. Two minutes from zero to a working rule across all your devices.

Get JustZix

Features · How it works · Examples · Use cases