Skip to content

Borders & Shadows

Borders และ Shadows เป็น utilities ที่ใช้บ่อยมากสำหรับ:

  • สร้าง cards และ containers
  • ทำให้ UI มี depth และ hierarchy
  • แยก sections ออกจากกัน

ClassCSS
borderborder-width: 1px
border-0border-width: 0
border-2border-width: 2px
border-4border-width: 4px
border-8border-width: 8px
<div class="border-t-4">Top border only</div>
<div class="border-b-2">Bottom border only</div>
<div class="border-l-4 border-blue-500">Left accent</div>
<div class="border-x-2">Left and right</div>
<div class="border-y-2">Top and bottom</div>

<div class="border-2 border-gray-300">Default</div>
<div class="border-2 border-blue-500">Primary</div>
<div class="border-2 border-red-500">Error</div>
<div class="border-2 border-transparent">Transparent</div>

ClassRadiusUse Case
rounded-none0Square
rounded-sm0.125remSubtle
rounded0.25remDefault
rounded-md0.375remMedium
rounded-lg0.5remCards
rounded-xl0.75remLarge cards
rounded-2xl1remModals
rounded-3xl1.5remHero cards
rounded-full9999pxCircles, Pills
<div class="rounded-t-lg">Top corners only</div>
<div class="rounded-b-lg">Bottom corners only</div>
<div class="rounded-l-lg">Left corners only</div>
<div class="rounded-tl-lg rounded-br-lg">Diagonal corners</div>

ClassIntensityUse Case
shadow-smVery lightSubtle elevation
shadowLightCards
shadow-mdMediumDropdowns
shadow-lgHeavyModals
shadow-xlVery heavyFloating elements
shadow-2xlIntenseHero sections
shadow-innerInwardInset effects
shadow-noneNoneRemove shadow
<div class="shadow-lg shadow-blue-500/50">Blue glow</div>
<div class="shadow-lg shadow-purple-500/30">Purple glow</div>

Ring เป็น utility สำหรับ focus states ที่ไม่กระทบ layout:

<button class="ring-2 ring-blue-500">Always has ring</button>
<button class="focus:ring-2 focus:ring-blue-500">Ring on focus</button>
<input class="focus:ring-2 focus:ring-offset-2 focus:ring-blue-500" />
ClassEffect
ring3px ring
ring-22px ring
ring-44px ring
ring-blue-500Ring color
ring-offset-2Space between ring & element
ring-insetRing inside element

<div class="bg-white rounded-xl shadow-lg border border-gray-100 p-6">
<h3 class="font-bold text-lg mb-2">Card Title</h3>
<p class="text-gray-600">Card content goes here.</p>
</div>
<input
class="border border-gray-300 rounded-lg px-4 py-2
focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
placeholder="Enter text..."
/>
<div class="border-l-4 border-blue-500 bg-blue-50 p-4 rounded-r-lg">
<strong class="text-blue-700">Info:</strong>
<span class="text-blue-600">This is an info message.</span>
</div>

Do ✅Don’t ❌
ใช้ ring สำหรับ focus statesใช้ border สำหรับ focus
ใช้ shadow-lg กับ modalsใช้ shadow มากเกินไป
ใช้ colored shadows สำหรับ glowใช้ shadow ดำทุกที่
ใช้ consistent border radiusผสมหลาย radius ใน UI เดียว