utopia-container-queries

Utopia Container Queries

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "utopia-container-queries" with this command: npx skills add matthewharwood/fantasy-phonics/matthewharwood-fantasy-phonics-utopia-container-queries

Utopia Container Queries

Container setup required for this project's fluid scales

Critical: cqi Units Require Container Context

This project's type and space scales use cqi (container query inline) units:

/* From typography.css */ --step-0: clamp(1.125rem, 1.0739rem + 0.2273cqi, 1.25rem);

/* From space.css */ --space-m: clamp(1.6875rem, 1.6108rem + 0.3409cqi, 1.875rem);

Without a container context, the cqi portion evaluates to 0, meaning values stay at their minimum.

Required Setup

For fluid scaling to work, you must establish a container context:

Option 1: Root Container (Recommended)

Apply to html or body for global container context:

html { container-type: inline-size; }

Or in your component:

body { container-type: inline-size; }

Option 2: Component-Level Containers

For component-specific containers:

.card-container { container-type: inline-size; }

/* Optional: name the container */ .card-container { container: card / inline-size; }

Current State

No container-type declarations exist in the CSS files. The fluid scales are defined but will not scale fluidly until container context is added.

Files That Need Container Context

File Has cqi Units Has container-type

typography.css

Yes No

space.css

Yes No

grid.css

No (uses vw fallback) No

Adding Container Support

Minimal Setup

Add to css/styles/index.css :

html { container-type: inline-size; }

Per-Component Setup

For isolated components:

.my-component { container-type: inline-size; }

Container Query Syntax

Once containers are established, you can use container queries:

@container (inline-size > 400px) { .card { display: grid; grid-template-columns: 150px 1fr; } }

/* Named container query */ @container card (inline-size > 600px) { .card__title { font-size: var(--step-3); } }

Container Units Available

Unit Description

cqi

1% of container inline size (width in LTR)

cqb

1% of container block size (height in LTR)

cqw

1% of container width

cqh

1% of container height

cqmin

Smaller of cqi/cqb

cqmax

Larger of cqi/cqb

What's NOT Defined

The following are not currently in the CSS:

  • Any container-type declarations

  • Any @container queries

  • Named containers

The infrastructure (cqi-based tokens) exists, but the container context to make it functional does not.

Next Steps

  • Add container-type: inline-size to html or body

  • Verify fluid scaling works by resizing viewport

  • Add component-level containers as needed

  • Add @container queries for component-level responsiveness

Files

  • css/styles/index.css

  • Recommended location for root container setup

  • css/styles/layouts.css

  • Empty, available for container utilities

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ux-spacing-layout

No summary provided by upstream source.

Repository SourceNeeds Review
General

animejs-v4

No summary provided by upstream source.

Repository SourceNeeds Review
General

web-components-architecture

No summary provided by upstream source.

Repository SourceNeeds Review
General

webgpu-canvas

No summary provided by upstream source.

Repository SourceNeeds Review