จุดกำเนิดการแปลงและมุมมอง
เปลี่ยนจุดหมุนของการแปลงด้วย transform-origin และเพิ่มมิติความลึกด้วย perspective
จุดกำเนิดการแปลงและมุมมอง เป็นบทเรียน CSS Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CSS Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CSS Academy มีบทเรียนทั้งหมด 4 บทเรียน
ค่าเริ่มต้นของ transform-origin
โดยค่าเริ่มต้น การแปลงจะเกิดขึ้นรอบจุดกึ่งกลางขององค์ประกอบ: 50% 50% คุณสมบัติ transform-origin ใช้เปลี่ยนจุดหมุนนี้
การกำหนด transform-origin
รองรับคีย์เวิร์ด เปอร์เซ็นต์ หรือค่าความยาว รูปแบบคือ x-axis y-axis z-axis
<div class="spinning-logo">Logo</div>
<div class="page-fold">Fold</div>
<div class="tooltip">Info</div>transform-origin กับการปรับขนาด
ปรับขนาดจากมุมซ้ายบน ซึ่งเหมาะสำหรับภาพเคลื่อนไหวการขยายเมนูดรอปดาวน์:
<div class="dropdown open">Dropdown menu</div>transform-origin กับการหมุน
หมุนเข็มนาฬิการอบฐานของเข็ม:
<div class="clock"><div class="hand"></div></div>คุณสมบัติ perspective
perspective กำหนดระยะห่างระหว่างผู้ใช้กับระนาบ z=0 สำหรับการแปลง 3 มิติ ค่าที่เล็กกว่าจะสร้างการบิดเบือนของมุมมองที่เด่นชัดกว่า ส่วนค่าที่ใหญ่กว่าจะสร้างความลึกแบบละเอียดอ่อน
<div class="scene"><div class="card">A</div></div>
<div class="scene-wide"><div class="card">B</div></div>perspective-origin
เปลี่ยนจุดรวมสายตาของมุมมอง ค่าเริ่มต้นคือจุดกึ่งกลาง (50% 50%)
<div class="scene"><div class="card">Card</div></div>perspective ในฐานะฟังก์ชัน
perspective() สามารถใช้เป็นฟังก์ชันการแปลงกับองค์ประกอบนั้นเองได้ด้วย ไม่ใช่กับองค์ประกอบแม่ วิธีนี้จะจำกัดบริบท 3 มิติไว้เฉพาะองค์ประกอบนั้น
<div class="card">Card</div>transform-style: preserve-3d
โดยค่าเริ่มต้น การแปลง 3 มิติขององค์ประกอบลูกจะถูกทำให้แบนราบเป็น 2 มิติ ให้กำหนด transform-style: preserve-3d บนองค์ประกอบแม่ เพื่อคงตำแหน่ง 3 มิติจริงขององค์ประกอบลูกไว้
<div class="scene">
<div class="card-front">Front</div>
<div class="card-back">Back</div>
</div>เอฟเฟกต์การพลิกการ์ด
การ์ดพลิกแบบคลาสสิกโดยใช้ perspective และ preserve-3d:
<div class="card-wrapper">
<div class="card"><div class="card-back">Back</div></div>
</div>
<div class="card-wrapper">
<div class="card flipped"><div class="card-back">Back (flipped)</div></div>
</div>backface-visibility
backface-visibility: hidden ซ่อนด้านหลังขององค์ประกอบที่ผ่านการแปลง 3 มิติ ซึ่งจำเป็นสำหรับการ์ดพลิกที่ไม่ควรมองเห็นด้านหลังผ่านด้านหน้า
การรวม perspective และจุดกำเนิด
เอฟเฟกต์เอียงสามิติเมื่อวางเคอร์เซอร์ ซึ่งตอบสนองต่อตำแหน่งของเคอร์เซอร์:
<div class="card demo-active">3D Tilt Card</div>ตรวจสอบความเข้าใจ
เมนูดรอปดาวน์ใช้ transform: scaleY(0) เพื่อซ่อน และใช้ scaleY(1) เพื่อแสดง ควรใช้ transform-origin ใดเพื่อให้เมนูขยายลงด้านล่างจากด้านบน
สรุป
transform-origin เปลี่ยนจุดหมุนสำหรับการหมุนและการปรับขนาด ซึ่งสำคัญอย่างยิ่งต่อการขยายเมนูดรอปดาวน์ การหมุนเข็มนาฬิกา และการเอียงเมื่อวางเคอร์เซอร์ การกำหนด perspective บนองค์ประกอบแม่จะสร้างบริบทความลึก 3 มิติ transform-style: preserve-3d ช่วยให้องค์ประกอบ 3 มิติซ้อนกันทำงานได้ backface-visibility: hidden ซ่อนด้านหลังขององค์ประกอบในเอฟเฟกต์การพลิก
คำถามที่พบบ่อย
บทเรียน “จุดกำเนิดการแปลงและมุมมอง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “จุดกำเนิดการแปลงและมุมมอง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CSS Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CSS Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “จุดกำเนิดการแปลงและมุมมอง”
เปลี่ยนจุดหมุนของการแปลงด้วย transform-origin และเพิ่มมิติความลึกด้วย perspective คุณปฏิบัติ CSS Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CSS Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน CSS Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “จุดกำเนิดการแปลงและมุมมอง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน CSS Academy นี้ได้ไหม
ได้ บทเรียน CSS Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การเลื่อน หมุน และปรับขนาด
- การแปลงแบบเอียงและเมทริกซ์
- จุดกำเนิดการแปลงและมุมมอง
- การแปลง 3 มิติ: rotateX rotateY translateZ