Tailwind's configuration file also makes it easy to add it to an existing codebase, whether it uses custom CSS or another CSS framework.
You can opt-out of Tailwind's CSS reset and normalisation by adding corePlugins: { preflight: false } to tailwind.config.js, and if you have duplicate classes with existing classes and Tailwind-generated ones, you can add prefix: 'tw-' to prefix all of Tailwind's class names and avoid the conflicts.
If you need to deal with specificity, you can mark Tailwind-generated classes as important by adding important: true so that they can override any existing styling. You can do the same in HTML code by prefixing a class name with an exclamation mark - e.g. !flex.
Or, if you know that your Tailwind styles will only be used within a certain element, like #app, instead of making all classes important, by adding important: "#app" to the configuration, Tailwind classes will be prefixed with that selector - making them more specific.
Once these options are set, you can start using Tailwind without affecting the existing styles.
Doing this, and starting small by using a small number of utilities can be a good step towards migrating an existing codebase to use Tailwind and removing the existing styles at a later date.
- Oliver
Was this interesting?
About me
I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.