Styling systems

These don’t have ready to use components that you can plug and play.
Instead, they help you develop your own component library.
Style library interoperability

Bootstrap is based on Bootstrap. It's framework agnostic. Includes HTML and CSS, so you can do with that whatever you want. Great for building your own library of customized components.
Tailwind is becoming the most popular. It is so easy to get started! Just copy and paste entire blocks of markup from any other website or app. But be careful when choosing to use it. It can make it more difficult to maintain the codebase and make design changes in the future.
TailwindCSS is actually a Styling system, not a component library. Although you could think of Tailwind className/HTML combinations as components, they (1) don’t have javascript/interaction beyond hover/focus, and (2) don’t include anything other than CSS. You bring your own HTML, logic, state, and interactions. Of course any component in a library should be a generic vessel for unique business logic and styles per instance. But Tailwind is only concerned with style.
It is a bunch of HTML+CSS code snippets that you can just copy/paste to your site/app if you have Tailwind installed.

Tailwind + Radix = must try - static HTML, very minimal JS they are adding support for React/Vue/Alpine with
Radix is an unstyled (headless) JS component library. Use your favorite style system with it.
Unrelated. Built exactly like Tailwind, but not as complete, not as useful, just a small subset. But I like how gentle and soft and comforting everything looks.



Tailwind is a high quality library, with many great classNames that you can use instead of writing CSS. However, that is also it's problem. It may not be for everyone, because it tries to replace CSS. There are many many classNames to learn with Tailwind. For someone already good at CSS, it may be easier to just write CSS than learn all the classNames. But even then, there's the ability to not even use classNames, but simply extend your existing styles using the @apply directive. It then removes any unused classes, so you can start using it only a little bit without making your project much bigger. Very impressive!
The only problem is the entire concept - of styling with classNames rather than CSS. Each className often abstracts only one css style, making it a bit shorter. But you might as well just write the original slightly longer CSS. The list of classNames gets very long! For sites which have many responsive breakpoints, the className string will get crazy long! If you're already good at CSS, you will miss the ability to separate style from logic (as your project grows, this will get more painful). Also, remember the "C" in "CSS" - cascading - for composing styles (from parent to child) or styling a component once and reusing it in multiple places without re-defining all the details. For people good with CSS, it might still be worth trying for the @apply directive.