| name | astro-styling |
| description | Use when styling Astro components with scoped CSS, CSS Modules, Tailwind CSS, UnoCSS, or Sass. Covers class:list directive, global styles, CSS custom properties, and Vite-powered preprocessors. |
Astro Styling
Targets: Astro 7.
Agent Workflow (MANDATORY)
Before ANY implementation, spawn 3 parallel agents (Codex spawn_agent):
- explore-codebase - Analyze existing styles, integrations, and patterns
- research-expert - Verify latest Astro/Tailwind/UnoCSS docs via Context7/Exa
- Context7 (official docs) - Check integration compatibility with Astro 7
After implementation, run sniper for validation.
Overview
When to Use
- Styling
.astro components with component-scoped CSS
- Setting up Tailwind CSS or UnoCSS in an Astro project
- Using CSS Modules for framework-agnostic scoping
- Applying global base styles (reset, fonts, variables)
- Using
class:list for conditional class application
- Adding Sass/SCSS via Vite preprocessors
Styling Options
| Method | Scope | When to Use |
|---|
<style> in .astro | Component | Default — scoped to component |
<style is:global> | Global | Base styles, resets |
CSS Modules .module.css | Component | Framework components (React, Vue) |
| Tailwind CSS | Utility | Rapid UI development |
| UnoCSS | Utility | Lightweight, configurable atomic CSS |
| Sass/SCSS | Component/Global | Advanced features, variables, mixins |
Reference Guide
Concepts
Templates
Best Practices
- Prefer scoped styles — Use
<style> in .astro files by default
- Global styles in layouts — Apply resets and base styles in root layout
- CSS variables for themes — Define design tokens as custom properties
- Avoid
is:global in components — Reserve for layouts and global files
- class:list over ternaries — More readable conditional class logic
Forbidden
- Writing inline styles for layout/theme — use CSS classes instead
- Using
is:global inside non-layout components
- Importing CSS in multiple components without CSS Modules
- Mixing Tailwind and custom class naming without a clear convention