Jump to content

Tailwind CSS

What is Tailwind CSS?

Tailwind CSS is a tiny, utility first CSS framework for building custom designs, while being able to switch your brain off.

It makes CSS incredibly easy and quick to write, as shown by the following example:

Old CSS:

  1. Write CSS, often in a seperate file
.my-class {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 0.25rem;
  padding: 1rem;
}
  1. Import CSS into your component
import "./my-class.css";
  1. Add the class to your HTML
<div class="my-class">...</div>

Equivalent in Tailwind:

  1. Just write classes in your HTML
<div
  class="flex flex-col items-center justify-center rounded border border-gray-200 bg-white p-4"
>
  ...
</div>

Its usage along with React components is extremely powerful for quickly building UIs, however it is purely a CSS framework and does not provide any pre-built components or logic and shouldn’t be compared to a component library like Material UI.

Tailwind CSS has a beautiful built-in design system, that comes out of the box with a carefully chosen color palette, sizing patterns for styles such as width/height and padding/margin for a uniform design, as well as media breakpoints for an encouraged mobile-first layout. This can be extended and customised to be as restrictive or broad as you like.

Usage

Make sure you have editor plugins for Tailwind installed to improve your experience writing Tailwind.

Extensions and Plugins

Formatting

Tailwind CSS classes can easily get a bit messy, so a formatter for the classes is a must have. Tailwind CSS Prettier Plugin sorts the classes in the recommended order so that the classes match the outputted css bundle. When selecting Tailwind in the CLI, we will install and configure this for you.

Conditionally Applying Classes

Conditionally adding classes using ternaries can get very messy and hard to read. These packages help in organizing your classes when using some conditional logic.

Useful Resources

ResourceLink
Tailwind Docshttps://tailwindcss.com/docs/editor-setup/
Tailwind Cheat Sheethttps://nerdcave.com/tailwind-cheat-sheet/
awesome-tailwindcsshttps://github.com/aniftyco/awesome-tailwindcss/
Tailwind Communityhttps://github.com/tailwindlabs/tailwindcss/discussions/
Tailwind Discord Serverhttps://tailwindcss.com/discord/
TailwindLabs Youtube Channelhttps://www.youtube.com/tailwindlabs/
Tailwind Playgroundhttps://play.tailwindcss.com/