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

การทำงานกับ CSS3 2D Transform Functions

2D Transform Functions: ย้าย, หมุน, ขยาย, ทวistes องค์ประกอบ

CSS transform property ใช้ฟังก์ชัน 2D transform เปลี่ยนรูปทรง/ตำแหน่งองค์ประกอบโดยไม่กระทบ Document Flow (ไม่ผลักองค์ประกอบอื่น)

ฟังก์ชัน 2D Transform หลัก

Functionคำอธิบายตัวอย่าง
translate(x, y)เลื่อนตาม X, Y axistranslate(30px, 20px)
translateX(n)เลื่อนตาม X axistranslateX(50px)
translateY(n)เลื่อนตาม Y axistranslateY(-20px)
scale(x, y)ขยาย/หด ความกว้าง, สูงscale(2, 1.5)
scaleX(n) / scaleY(n)ขยาย/หด แกนเดียวscaleX(2)
rotate(angle)หมุนตามจุดศูนย์กลางrotate(45deg)
skew(x-angle, y-angle)เผื่อน/บิด ตาม X, Yskew(20deg, 10deg)
matrix(a,b,c,d,e,f)Matrix 2D (6 ค่า) รวมทุก transformmatrix(1, 0.2, 0, 1, 30, 20)

โค้ดตัวอย่าง

<!DOCTYPE html>
<html>
<head>
  <style>
    body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
    div { width: 100px; height: 100px; background-color: rgb(98, 0, 255); margin: 20px; display: inline-block; color: white; }
    .rotate { transform: rotate(20deg); }
    .translate { transform: translate(30px, 20px); }
    .scale { transform: scale(2, 1); margin-left: 70px; }
    .skew { transform: skew(20deg); }
  </style>
</head>
<body>
  <h1>2D Transform Functions</h1>
  <div class="rotate">ROTATE</div>
  <div class="skew">SKEW</div>
  <div class="scale">SCALE</div>
  <div class="translate">TRANSLATE</div>
</body>
</html>

Transform Origin

จุดศูนย์กลางการ transform ควบคุมด้วย transform-origin (default: 50% 50% = center):

.rotate { transform-origin: top left; transform: rotate(45deg); }

Performance

  • Transform ไม่ trigger layout/repaint – GPU accelerated
  • ใช้สำหรับ animation แทน top/left/width/height
  • will-change: transform บอก browser เตรียม layer