Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> CSS

CSS Padding vs Margin: เข้าใจความต่างและเมื่อไหร่ควรใช้แต่ละอย่าง

เมื่อเริ่มเรียน HTML และ CSS ใช้เวลาพอสมควรเข้าใจความต่างระหว่าง margin และ padding ใน box model บทความนี้จะแบ่งปันวิธีที่ช่วยให้แยกแยะได้ชัดเจน

CSS Box Model: การเข้าใจโครงสร้าง

คิด box model — คอนเทนเนอร์ที่ใส่คอมโพเนนต์เว็บไซต์ — เหมือนภาพในกรอบรูป:

  • Content (เนื้อหา): ภาพเอง — สิ่งที่ต้องการใส่ในคอนเทนเนอร์
  • Padding (ระยะภายใน): แผ่นรอง (matting) รอบภาพ — ทำให้กรอบใหญ่ขึ้น ใน CSS padding คือพื้นที่ระหว่างเนื้อหาและขอบ (border)
  • Border (ขอบ): กรอบที่ครอบเนื้อหาและ padding
  • Margin (ระยะนอก): พื้นที่ระหว่าง元素ที่อยู่ติดกัน (กรอบรูป) บน viewport (ผนัง)

เมื่อไหร่ควรใช้ Margin และ Padding?

โดยทั่วไป:

  • ใช้ Margin เมื่อต้องการปรับตำแหน่ง元素相对于 元素อื่นบนหน้า
  • ใช้ Padding เมื่อต้องการพื้นที่รอบเนื้อหาให้กว้างขึ้น

การกำหนด Margin และ Padding

ตัวอย่างโค้ดพื้นฐาน:

<style> #star-wars { background: ivory; border: 20px solid cyan; } #lotr { background: ivory; border: 20px solid green; } </style>

หากต้องการค่าต่างกันทุกด้าน:

#star-wars { margin-top: 10px; margin-bottom: 30px; margin-left: 5px; margin-right: 25px; padding-top: 20px; padding-right: 25px; padding-bottom: 35px; padding-left: 45px; }

มี shorthand property (ลำดับ TRBL: top, right, bottom, left):

margin: 10px 25px 30px 5px;  /* top right bottom left */

หาก top/bottom เท่ากัน และ left/right เท่ากัน:

margin: 20px 30px;  /* top/bottom left/right */

หากทุกด้านเท่ากัน:

margin: 30px;  /* ทุกด้าน 30px */

สรุป

บทความนี้ทบทวน box model และอธิบายความต่าง: Margin จัดการพื้นที่นอกขอบ (outside border) ส่วน Padding จัดการพื้นที่ในขอบ (inside border) ลองเล่นกับค่าต่างๆ ในโค้ดจะช่วยให้เชี่ยวชาญได้เร็วขึ้น