Reputation: 3
I'm using Angular 19 with Tailwind CSS v4 and SCSS as my stylesheet preprocessor. Tailwind classes are working ex: bg-white but not the dark mode ex: dark:bg-black.
What I Did:
src/Styles.scss
@use '@fontsource/poppins';
@use 'primeicons/primeicons.css';
@use 'tailwindcss';
@custom-variant dark (&:where(.dark, .dark *));
Test
<main class="flex-grow bg-white px-6 py-12 dark:bg-black">
<p>Test</p>
</main>
EDIT: I added the following line to styles.scss but it didn't help. And it shows a warning in the vscode editor "Unknown at rule @custom-variantscss(unknownAtRules)"
@custom-variant dark (&:where(.dark, .dark *));
Upvotes: 0
Views: 96
Reputation: 24408
The docs advise against using Tailwind with Sass:
Tailwind CSS v4.0 is a full-featured CSS build tool designed for a specific workflow, and is not designed to be used with CSS preprocessors like Sass, Less, or Stylus.
Regardless, several things:
Replace @use
with @import
(but with a .css
suffix to stop Sass processing it):
@use '@fontsource/poppins';
@use 'primeicons/primeicons.css';
@import 'tailwindcss/index.css';
Configure dark:
variants to use the dark
class (since you "Added dark class to html"):
@use '@fontsource/poppins';
@use 'primeicons/primeicons.css';
@import 'tailwindcss/index.css';
@custom-variant dark (&:where(.dark, .dark *));
Consider using CSS instead of Sass:
@import 'tailwindcss';
@import '@fontsource/poppins' layer(base);
@import 'primeicons/primeicons.css' layer(components);
@custom-variant dark (&:where(.dark, .dark *));
Upvotes: 1