วิธีสร้างเกรเดียนต์ CSS

· 4 นาทีในการอ่าน

เกรเดียนต์ CSS ช่วยให้คุณสร้างการเปลี่ยนสีอย่างราบรื่นโดยไม่ต้องใช้ไฟล์ภาพ พวกมันเบากว่าภาพ ปรับขนาดได้สมบูรณ์แบบกับขนาดหน้าจอใดก็ได้ และง่ายต่อการปรับแต่ง

ประเภทของเกรเดียนต์ CSS

เกรเดียนต์เชิงเส้น — สีเปลี่ยนเป็นเส้นตรง (บนลงล่าง ซ้ายไปขวา หรือมุมใดก็ได้)

background: linear-gradient(135deg, #667eea, #764ba2);

เกรเดียนต์แนวรัศมี — สีแผ่กระจายจากจุดศูนย์กลางในรูปแบบวงกลมหรือวงรี

background: radial-gradient(circle, #667eea, #764ba2);

เกรเดียนต์แนวกรวย — สีหมุนรอบจุดศูนย์กลาง เหมือนวงล้อสี

background: conic-gradient(from 0deg, #667eea, #764ba2, #667eea);

วิธีสร้างเกรเดียนต์แบบภาพ

  1. เลือกประเภทเกรเดียนต์ — เลือกเชิงเส้นหรือแนวรัศมีและตั้งมุมหรือตำแหน่ง
  2. เพิ่มจุดสี — คลิกเพื่อเพิ่มสีในตำแหน่งต่างๆ ของเกรเดียนต์ ปรับแต่ละสีและตำแหน่ง
  3. คัดลอก CSS — คัดลอกโค้ดที่สร้างและวางในสไตล์ชีตของคุณ

การใช้ตัวสร้างแบบภาพเร็วกว่าการเขียนไวยากรณ์ด้วยมือ โดยเฉพาะกับจุดสีหลายจุด

รูปแบบเกรเดียนต์ที่พบบ่อย

พื้นหลังส่วน hero — เกรเดียนต์สองสีที่อ่อนละมุนเพิ่มความลึกโดยไม่รบกวนข้อความ

background: linear-gradient(135deg, #0f172a, #1e3a5f);

การไฮไลต์ปุ่ม — เกรเดียนต์เล็กน้อยให้เอฟเฟกต์สามมิติแก่ปุ่ม

background: linear-gradient(180deg, #3b82f6, #2563eb);

การปกปิดบนภาพ — การปกปิดด้วยเกรเดียนต์ปรับปรุงความสามารถในการอ่านข้อความบนรูปภาพ

background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.7));

ขอบที่เน้น — ใช้เกรเดียนต์เป็นขอบเพื่อสร้างความน่าสนใจทางสายตา

border-image: linear-gradient(90deg, #667eea, #764ba2) 1;

เคล็ดลับ

คำถามที่พบบ่อย

เกรเดียนต์ CSS ทำงานในเบราว์เซอร์ทั้งหมดหรือไม่?

ใช่ เกรเดียนต์เชิงเส้นและแนวรัศมีรองรับในเบราว์เซอร์สมัยใหม่ทั้งหมด รวมถึง Chrome, Firefox, Safari และ Edge เกรเดียนต์แนวกรวยมีการสนับสนุนใหม่กว่าเล็กน้อยแต่ทำงานในเวอร์ชันปัจจุบันทั้งหมด

ฉันสามารถใช้สีมากกว่าสองสีได้หรือไม่?

ได้ เกรเดียนต์ CSS ยอมรับจุดสีได้มากเท่าที่คุณต้องการ แต่ละจุดกำหนดสีและตำแหน่งตามเกรเดียนต์

เกรเดียนต์ส่งผลต่อประสิทธิภาพหรือไม่?

ไม่ เกรเดียนต์ CSS ถูกเรนเดอร์โดยเบราว์เซอร์และเบากว่าไฟล์ภาพมาก ปรับขนาดได้สมบูรณ์แบบกับขนาดหน้าจอใดก็ได้โดยไม่ต้องดาวน์โหลดเพิ่มเติม

สามารถสร้างแอนิเมชันเกรเดียนต์ได้หรือไม่?

ไม่โดยตรงด้วย CSS transition บนคุณสมบัติ background แต่คุณสามารถสร้างแอนิเมชัน background-position หรือใช้ CSS custom properties กับ @property เพื่อสร้างแอนิเมชันเกรเดียนต์ที่ราบรื่น