TechLead
Lesson 2 of 9
5 min read
Tailwind CSS

Core Utility Classes

Master the fundamental utility classes for spacing, sizing, colors, and typography that form the foundation of Tailwind CSS.

Core Utility Classes

Tailwind provides hundreds of utility classes organized into categories. Understanding these core utilities is essential for building any layout.

Spacing Utilities

Tailwind uses a consistent spacing scale based on rem units:

<!-- Padding -->
<div class="p-4">Padding on all sides (1rem)</div>
<div class="px-4">Horizontal padding</div>
<div class="py-4">Vertical padding</div>
<div class="pt-4">Padding top</div>
<div class="pr-4">Padding right</div>
<div class="pb-4">Padding bottom</div>
<div class="pl-4">Padding left</div>

<!-- Margin -->
<div class="m-4">Margin on all sides</div>
<div class="mx-auto">Center horizontally</div>
<div class="my-8">Vertical margin</div>
<div class="mt-4">Margin top</div>
<div class="-mt-4">Negative margin top</div>

Spacing Scale

ClassValue
00px
10.25rem (4px)
20.5rem (8px)
41rem (16px)
61.5rem (24px)
82rem (32px)
123rem (48px)
164rem (64px)

Sizing Utilities

<!-- Width -->
<div class="w-full">100% width</div>
<div class="w-1/2">50% width</div>
<div class="w-1/3">33.33% width</div>
<div class="w-64">16rem width</div>
<div class="w-screen">100vw</div>
<div class="max-w-md">Max width medium</div>
<div class="min-w-0">Min width 0</div>

<!-- Height -->
<div class="h-full">100% height</div>
<div class="h-screen">100vh</div>
<div class="h-64">16rem height</div>
<div class="min-h-screen">Minimum 100vh</div>

Typography Utilities

<!-- Font Size -->
<p class="text-xs">Extra small (0.75rem)</p>
<p class="text-sm">Small (0.875rem)</p>
<p class="text-base">Base (1rem)</p>
<p class="text-lg">Large (1.125rem)</p>
<p class="text-xl">Extra large (1.25rem)</p>
<p class="text-2xl">2XL (1.5rem)</p>
<p class="text-4xl">4XL (2.25rem)</p>

<!-- Font Weight -->
<p class="font-light">Light (300)</p>
<p class="font-normal">Normal (400)</p>
<p class="font-medium">Medium (500)</p>
<p class="font-semibold">Semibold (600)</p>
<p class="font-bold">Bold (700)</p>

<!-- Text Alignment -->
<p class="text-left">Left aligned</p>
<p class="text-center">Center aligned</p>
<p class="text-right">Right aligned</p>
<p class="text-justify">Justified text</p>

<!-- Line Height -->
<p class="leading-none">No line height</p>
<p class="leading-tight">Tight (1.25)</p>
<p class="leading-normal">Normal (1.5)</p>
<p class="leading-relaxed">Relaxed (1.625)</p>
<p class="leading-loose">Loose (2)</p>

Color Utilities

<!-- Text Colors -->
<p class="text-black">Black text</p>
<p class="text-white">White text</p>
<p class="text-gray-500">Gray 500 text</p>
<p class="text-blue-600">Blue 600 text</p>
<p class="text-red-500">Red 500 text</p>

<!-- Background Colors -->
<div class="bg-white">White background</div>
<div class="bg-gray-100">Light gray background</div>
<div class="bg-blue-500">Blue background</div>
<div class="bg-gradient-to-r from-blue-500 to-purple-500">Gradient</div>

<!-- Border Colors -->
<div class="border border-gray-300">Gray border</div>
<div class="border-2 border-blue-500">Blue border</div>

Border Utilities

<!-- Border Width -->
<div class="border">1px border</div>
<div class="border-2">2px border</div>
<div class="border-4">4px border</div>
<div class="border-t">Top border only</div>
<div class="border-b-2">Bottom 2px border</div>

<!-- Border Radius -->
<div class="rounded">Small radius (0.25rem)</div>
<div class="rounded-md">Medium radius (0.375rem)</div>
<div class="rounded-lg">Large radius (0.5rem)</div>
<div class="rounded-xl">XL radius (0.75rem)</div>
<div class="rounded-full">Full radius (circle)</div>
<div class="rounded-t-lg">Top corners only</div>

Shadow Utilities

<div class="shadow-sm">Small shadow</div>
<div class="shadow">Default shadow</div>
<div class="shadow-md">Medium shadow</div>
<div class="shadow-lg">Large shadow</div>
<div class="shadow-xl">XL shadow</div>
<div class="shadow-2xl">2XL shadow</div>
<div class="shadow-none">No shadow</div>

Practical Example

<!-- A styled button -->
<button class="px-6 py-3 bg-blue-600 text-white font-semibold rounded-lg shadow-md hover:bg-blue-700 transition-colors">
  Click Me
</button>

<!-- A card component -->
<div class="max-w-sm mx-auto bg-white rounded-xl shadow-lg p-6">
  <h3 class="text-xl font-bold text-gray-900 mb-2">Card Title</h3>
  <p class="text-gray-600 leading-relaxed">
    This is a beautifully styled card using only Tailwind utility classes.
  </p>
</div>

Continue Learning