Gradient คืออะไร?
การเปลี่ยนสีแบบต่อเนื่องระหว่าง 2 สีขึ้นไป ใช้ผ่าน Property background หรือ background-image
2 ประเภทหลัก
- Linear Gradient: ไล่สีตามเส้นตรง
- Radial Gradient: ไล่สีแฉออกจากจุดศูนย์กลาง
Linear Gradient
ไวยากรณ์
background: linear-gradient(direction, color1, color2, ...);
ทิศทาง (Direction)
- Default: Top to Bottom
- Keywords:
to right,to left,to top right,to bottom left - Angle:
45deg,120deg
ตัวอย่าง
/* Top to Bottom */ background: linear-gradient(#00C9FF, #92FE9D); /* Left to Right */ background: linear-gradient(to right, #00C9FF, #92FE9D); /* Diagonal */ background: linear-gradient(to top right, #00C9FF, #92FE9D); /* 3 สี + Angle */ background: linear-gradient(120deg, #00D2FF, #00C9FF, #3A47D5);
Color Stops (ควบคุมตำแหน่งสี)
/* Hard Line ที่ 50% */ background: linear-gradient(to right, #00C9FF 50%, #92FE9D 50%); /* Percentage Stops */ background: linear-gradient(to right, #00D2FF 25%, #00C9FF 50%, #3A47D5 75%);
Transparent Gradient (ใช้ RGBA)
background: linear-gradient(to right, rgba(0,201,255, 0.5), /* 50% Transparent */ rgba(146,254,157, 0.7) /* 30% Transparent */ );
Radial Gradient
ไวยากรณ์
background: radial-gradient(shape size at position, color1, color2, ...);
ตัวอย่าง
/* Default: Ellipse, Center */ background: radial-gradient(#4B6CB7, #D9E7FF); /* Circle Shape */ background: radial-gradient(circle, #4B6CB7, #D9E7FF); /* Color Stops with Percentage */ background: radial-gradient(#4B6CB7 25%, #D9E7FF 50%, #9198E5 25%); /* Position: Farthest Corner at 50px 50px */ background: radial-gradient(circle farthest-corner at 50px 50px, #4B6CB7, #D9E7FF);
สรุป
CSS Gradient สร้างพื้นหลังสวยงามโดยไม่ต้องใช้รูปภาพ Linear Gradient ควบคุมได้ด้วย Direction/Angle/Stops, Radial Gradient ควบคุม Shape/Size/Position ทั้งคู่รองรับ Transparency ด้วย RGBA