Custom Styles
@utility - Create a utility
@utility glass-effect {
backdrop-filter: blur(10px);
background: rgba(255, 255, 255, 0.1);
}
/* Usage: class="glass-effect hover:glass-effect" */
Functional utility with a default value (since v4.3)
--default(…) inside --value(…) / --modifier(…) makes the bare utility work too.
@utility tab-* {
tab-size: --value(integer, --default(4));
}
/* class="tab" → tab-size: 4; class="tab-2" → tab-size: 2 */
@variant - Conditional style
.card {
background: white;
@variant dark { background: #1a1a2e; }
@variant hover { transform: scale(1.05); }
}
Stacked and compound @variant (since v4.3)
.button {
background: var(--color-sky-500);
/* Stacked: hover AND focus */
@variant hover:focus { background: var(--color-sky-600); }
/* Compound: same block for hover OR focus */
@variant hover, focus { color: white; }
}
@custom-variant - New variant
@custom-variant theme-midnight (&:where([data-theme="midnight"] *));
/* Usage: theme-midnight:bg-black */
@apply - Inline utilities
.btn-primary {
@apply bg-blue-500 text-white px-4 py-2 rounded-lg;
}
@layer - CSS organization
@layer components {
.card { @apply bg-white shadow-md rounded-xl p-4; }
}