tailwindcss
1
总安装量
1
周安装量
#44661
全站排名
安装命令
npx skills add https://github.com/nikiskaarup/skills --skill tailwindcss
Agent 安装分布
opencode
1
claude-code
1
Skill 文档
Tailwind CSS v4
Purpose
Provide guidance for using Tailwind CSS v4 effectively in projects that are already configured, with an emphasis on utility-first patterns, maintainability, and theme variables.
Scope
- Included: utility composition, variants, responsive and container query patterns, theme variables, and custom CSS hooks.
- Excluded: installation, build tooling, and migration guidance.
When to Use
- You are authoring or refactoring UI in a Tailwind CSS v4 codebase.
- You need best-practice guidance for composing utility classes and managing reuse.
- You are defining or extending design tokens using theme variables.
- You need patterns for variants, responsive behavior, or container queries.
Response Guidance
- Prefer composing utility classes directly in markup; use variants for state, media, and feature conditions.
- Manage duplication with components or template partials; for localized repetition, edit class lists directly rather than inventing abstractions.
- Use
@layer basefor default element styles and@layer componentsfor reusable classes that can still be overridden by utilities. - Use
@applyonly when writing custom CSS or styling third-party markup; avoid turning utilities into permanent abstractions. - Avoid conflicting utilities on the same element; choose one source of truth or expose explicit props.
Theme Variables
Theme variables are defined with @theme and generate both utilities and CSS variables.
@import "tailwindcss";
@theme {
--color-mint-500: oklch(0.72 0.11 178);
--font-poppins: Poppins, sans-serif;
--breakpoint-3xl: 120rem;
}
- Use
@themefor design tokens that should map to utilities; use:rootfor plain CSS variables that should not generate utilities. - Common namespaces include
--color-*,--font-*,--text-*,--spacing-*,--radius-*,--shadow-*,--breakpoint-*,--container-*, and--animate-*. - Extend defaults by adding new variables, override by redefining, and reset a namespace with
--color-*: initialor the entire theme with--*: initial. - Prefer CSS variables for custom CSS and inline styles, for example
var(--color-sky-500)orbg-(--my-color). - Use
@theme inlinewhen a theme variable references other variables to avoid unexpected resolution; use@theme staticwhen you want all theme variables emitted regardless of usage. theme()is deprecated in v4; use CSS variables instead and only reach fortheme(--breakpoint-*)in edge cases like media queries.
Common Patterns
- Stack variants to express state and media logic in place, for example
dark:md:hover:bg-sky-700. - Use
group,peer, and named group/peer variants for parent or sibling state, andin-*for implicit parent state when scoping is not required. - Use arbitrary values and variants sparingly for one-offs, for example
bg-[#316ff6],[&.is-dragging]:cursor-grabbing, andtext-(length:--size)when ambiguous. - Build responsive layouts with
sm:andmax-*ranges; use@containerwith@mdor@max-mdfor container-query components. - For dynamic values, set CSS variables inline and consume them with utilities:
Pitfalls
- Conflicting utilities target the same property; avoid combining them or use explicit conditional class selection.
peeronly affects following siblings; it cannot style elements that appear before the peer.- Parent child selectors like
*:and**:cannot be overridden by child utilities due to generation order and equal specificity. - Overusing
@applyleads to rigid abstractions; prefer components or utility composition unless you need custom CSS. - If theme variables reference other variables, prefer
@theme inlineto avoid unexpected fallback behavior.