Installation
Install Tailwind CSS with Symfony
Setting up Tailwind CSS in a Symfony project.
Create your project
Start by creating a new Symfony project if you don’t have one set up already. The most common approach is to use the Symfony Installer.
Terminalsymfony new --webapp my-projectcd my-project
Install Webpack Encore
Install Webpack Encore, which handles building your assets. See the documentation for more information.
Terminalcomposer require symfony/webpack-encore-bundle
Install Tailwind CSS
Using npm, install
tailwindcss
and its peer dependencies, as well aspostcss-loader
, and then run the init command to generate bothtailwind.config.js
andpostcss.config.js
.Terminalnpm install -D tailwindcss postcss postcss-loader autoprefixernpx tailwindcss init -p
Enable PostCSS support
In your
webpack.config.js
file, enable PostCSS Loader. See the documentation for more information.webpack.config.jsEncore // ... .enablePostCssLoader() ;
Configure your template paths
Add the paths to all of your template files in your
tailwind.config.js
file.tailwind.config.js/** @type {import('tailwindcss').Config} */ module.exports = { content: [ "./assets/**/*.js", "./templates/**/*.html.twig", ], theme: { extend: {}, }, plugins: [], }
Add the Tailwind directives to your CSS
Add the
@tailwind
directives for each of Tailwind’s layers to your./assets/styles/app.css
file.app.css@tailwind base; @tailwind components; @tailwind utilities;
Start your build process
Run your build process with
npm run watch
.Terminalnpm run watch
Start using Tailwind in your project
Make sure your compiled CSS is included in the
<head>
then start using Tailwind’s utility classes to style your content.base.html.twig<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> {% block stylesheets %} {{ encore_entry_link_tags('app') }} {% endblock %} </head> <body> <h1 class="text-3xl font-bold underline"> Hello world! </h1> </body> </html>