Tutorial
9 min read

Tailwind CSS Customization Guide

Pranav Murali

December 22, 2025

Tailwind CSS makes it incredibly easy to customize Things components. Since all components use Tailwind utility classes, you can modify them to match your brand perfectly.

Using the `className` Prop: The simplest way to customize is by passing additional classes through the `className` prop:

<Button className='bg-purple-500 hover:bg-purple-600'>
  Custom Button
</Button>

Extending Variants: You can extend component variants by modifying the component code directly. For example, adding a new button variant:

const buttonVariants = cva(
  'base-classes',
  {
    variants: {
      variant: {
        default: '...',
        outline: '...',
        custom: 'bg-purple-500' // Your custom variant
      }
    }
  }
)

Global CSS Variables: Customize colors globally by modifying CSS variables in your `globals.css`:

:root {
  --primary: 222.2 47.4% 11.2%;
  --primary-foreground: 210 40% 98%;
  /* Your custom colors */
}

Component Composition: Build new components by composing existing Things components:

function CustomCard({ children }) {
  return (
    <Card className='border-purple-500'>
      <CardHeader>
        <CardTitle>Custom Card</CardTitle>
      </CardHeader>
      <CardContent>{children}</CardContent>
    </Card>
  )
}

Responsive Design: Use Tailwind's responsive prefixes to make components work on all screen sizes:

<div className='grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3'>
  {/* Responsive grid */}
</div>

Remember: Since you own the code, you can customize everything. Don't be afraid to modify components to fit your exact needs!

Stay Updated

Get the latest articles and updates delivered to your inbox