Dev to webs {Coding…}

เรียนรู้การพัฒนาซอฟเวอร์ เพื่อความรู้ที่ยั่งยืน

บทที่ 9: การจัดการ Background และ Borders ใน Tailwind CSS


การจัดการ Background

Tailwind CSS ช่วยให้การจัดการพื้นหลัง (Background) ขององค์ประกอบในหน้าเว็บเป็นเรื่องง่าย ด้วยชุด Utility Classes ที่หลากหลาย เช่น การกำหนดสี การใส่ภาพพื้นหลัง และการตั้งค่าอื่น ๆ


1. การกำหนดสีพื้นหลัง (bg-{color})

Tailwind CSS มีคลาสสำหรับกำหนดสีพื้นหลังตามสีที่กำหนดไว้ เช่น:

  • bg-gray-200: พื้นหลังสีเทา
  • bg-blue-500: พื้นหลังสีน้ำเงิน
  • bg-red-700: พื้นหลังสีแดงเข้ม

ตัวอย่าง:

<div class="bg-blue-500 text-white p-4">
  พื้นหลังสีน้ำเงิน ข้อความสีขาว
</div>


2. การใช้ภาพพื้นหลัง (bg-{image})

คุณสามารถใส่ภาพเป็นพื้นหลังด้วยคลาส bg-[image]:

ตัวอย่าง:

<div class="bg-[url('https://via.placeholder.com/500')] bg-cover h-64">
  พื้นหลังเป็นภาพ
</div>

ในตัวอย่างนี้:

  • bg-[url()] ใช้ใส่ URL ของภาพ
  • bg-cover ทำให้ภาพขยายเต็มพื้นที่

3. การตั้งค่าขนาดภาพพื้นหลัง

Tailwind CSS มีคลาสสำหรับตั้งค่าขนาดภาพพื้นหลัง:

  • bg-auto: ใช้ขนาดจริงของภาพ
  • bg-cover: ขยายภาพให้ครอบคลุมพื้นที่ทั้งหมด
  • bg-contain: ขยายภาพให้พอดีกับพื้นที่

ตัวอย่าง:

<div class="bg-[url('https://via.placeholder.com/500')] bg-contain h-64">
  พื้นหลังขนาดพอดีกับพื้นที่
</div>


4. การกำหนดตำแหน่งภาพพื้นหลัง

คุณสามารถกำหนดตำแหน่งของภาพพื้นหลังด้วยคลาส bg-{position}:

  • bg-center: อยู่กึ่งกลาง
  • bg-top: อยู่ด้านบน
  • bg-bottom: อยู่ด้านล่าง

ตัวอย่าง:

<div class="bg-[url('https://via.placeholder.com/500')] bg-center bg-cover h-64">
  พื้นหลังอยู่กึ่งกลาง
</div>


5. การตั้งค่าซ้ำของภาพพื้นหลัง

Tailwind CSS มีคลาสสำหรับกำหนดการซ้ำของภาพพื้นหลัง:

  • bg-repeat: ซ้ำทั้งสองแกน
  • bg-no-repeat: ไม่ซ้ำ
  • bg-repeat-x: ซ้ำในแนวนอน
  • bg-repeat-y: ซ้ำในแนวตั้ง

ตัวอย่าง:

<div class="bg-[url('https://via.placeholder.com/100')] bg-repeat-x bg-center h-32">
  ภาพพื้นหลังซ้ำในแนวนอน
</div>


6. การปรับสีพื้นหลังแบบ Gradient

Tailwind CSS รองรับการทำ Gradient โดยใช้คลาส bg-gradient-to-{direction}:

  • from-{color}: สีเริ่มต้น
  • to-{color}: สีสิ้นสุด

ตัวอย่าง:

<div class="bg-gradient-to-r from-blue-500 to-green-500 h-32">
  พื้นหลัง Gradient จากสีน้ำเงินไปสีเขียว
</div>


การจัดการ Borders


1. การเพิ่มเส้นขอบ (border)

Tailwind CSS มีคลาส border สำหรับเพิ่มเส้นขอบรอบองค์ประกอบ:

  • border: เพิ่มเส้นขอบ 1px
  • border-{value}: กำหนดขนาดเส้นขอบ เช่น border-2, border-4

ตัวอย่าง:

<div class="border border-gray-500 p-4">
  ตัวอย่างเส้นขอบสีเทา
</div>


2. การกำหนดสีเส้นขอบ (border-{color})

คุณสามารถเปลี่ยนสีเส้นขอบได้ด้วยคลาส border-{color}:

ตัวอย่าง:

<div class="border-2 border-blue-500 p-4">
  เส้นขอบสีน้ำเงิน
</div>


3. การเพิ่มเส้นขอบเฉพาะด้าน

Tailwind CSS รองรับการเพิ่มเส้นขอบเฉพาะด้านด้วย:

  • border-t-{value}: เส้นขอบด้านบน
  • border-r-{value}: เส้นขอบด้านขวา
  • border-b-{value}: เส้นขอบด้านล่าง
  • border-l-{value}: เส้นขอบด้านซ้าย

ตัวอย่าง:

<div class="border-t-4 border-b-4 border-blue-500 p-4">
  เส้นขอบเฉพาะด้านบนและด้านล่าง
</div>


4. การทำมุมโค้ง (rounded)

Tailwind CSS มีคลาส rounded สำหรับทำมุมโค้งขององค์ประกอบ:

  • rounded: โค้งเล็กน้อย
  • rounded-lg: โค้งมากขึ้น
  • rounded-full: โค้งเป็นวงกลม

ตัวอย่าง:

<div class="bg-gray-300 rounded-lg p-4">
  ตัวอย่างมุมโค้ง
</div>


5. การตั้งค่าเส้นขอบแบบพิเศษ

Tailwind CSS มีคลาส divide-{direction} สำหรับเพิ่มเส้นขอบระหว่างลูกองค์ประกอบใน Flexbox หรือ Grid:

  • divide-y-{value}: เส้นขอบระหว่างแถว
  • divide-x-{value}: เส้นขอบระหว่างคอลัมน์

ตัวอย่าง:

<div class="divide-y divide-gray-400">
  <div class="p-4">รายการที่ 1</div>
  <div class="p-4">รายการที่ 2</div>
  <div class="p-4">รายการที่ 3</div>
</div>


ตัวอย่างการใช้งาน Background และ Borders ในโปรเจกต์จริง

การออกแบบการ์ด:

<div class="border border-gray-300 rounded-lg shadow-md p-4 bg-white">
  <h2 class="text-lg font-bold">การ์ดตัวอย่าง</h2>
  <p class="text-gray-600">นี่คือการ์ดที่ใช้ Background และ Borders</p>
</div>

การออกแบบ Header:

<header class="bg-gradient-to-r from-blue-500 to-purple-500 text-white p-6 rounded-b-lg">
  <h1 class="text-2xl font-bold">Welcome to Tailwind CSS</h1>
</header>


สรุป

การจัดการ Background และ Borders ใน Tailwind CSS ช่วยเพิ่มความสวยงามและความยืดหยุ่นให้กับหน้าเว็บ คุณสามารถกำหนดสีพื้นหลัง เพิ่มเส้นขอบ หรือสร้างมุมโค้งได้อย่างง่ายดาย ในบทถัดไป เราจะพูดถึงการสร้าง Responsive Design เพื่อให้หน้าเว็บของคุณแสดงผลได้อย่างเหมาะสมในทุกอุปกรณ์!