Skip to content

Commit

Permalink
Include note about Tailwind per-component errors using '@apply' (#4353)
Browse files Browse the repository at this point in the history
* add: @apply exceptions for component frameworks

Some frameworks, specifically Vue, will not recognize global @layer directives in a global stylesheet because of how Vue's build system works. Instead, prefer to add a plugin to your Tailwind config. #2660, #3073

* Update README.md

* Update README.md
  • Loading branch information
Sergix authored Aug 22, 2022
1 parent 8f20b18 commit dd52b21
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions packages/integrations/tailwind/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,25 @@ export default {

You can now [import your own `base.css` as a local stylesheet](https://docs.astro.build/en/guides/styling/#import-a-local-stylesheet).

If you are using Vue, Svelte, or another component integration with Astro, `@apply` directives used in component `<style>`s may generate errors about your custom Tailwind class not existing and cause your builds to fail. [Instead of using `@layer` directives in a a global stylesheet](https://tailwindcss.com/docs/functions-and-directives#using-apply-with-per-component-css), define your custom styles by adding a plugin to your Tailwind config:

```js
// tailwind.config.cjs
module.exports = {
// ...
plugins: [
function ({ addComponents, theme }) {
addComponents({
'.btn': {
padding: theme('spacing.4'),
margin: 'auto'
}
})
}
]
}
```

## Examples

- The [Astro Tailwind Starter](https://github.com/withastro/astro/tree/latest/examples/with-tailwindcss?on=github) gets you up and running with a base for your project that uses Tailwind for styling
Expand Down

0 comments on commit dd52b21

Please sign in to comment.