ความแตกต่างระหว่างความง่ายในการเปลี่ยน CSS3 และการทำให้ง่ายออก


114

ความแตกต่างระหว่างการเปลี่ยน CSS3 ฯease-in, ease-outฯลฯ ?


7
ฉันรู้ว่าฉันกำลังตอบกลับความคิดเห็นที่เก่ามาก แต่ฉันต้องชี้ให้เห็นประโยชน์ของคนอื่นที่อ่านสิ่งนี้ว่า w3schools ไม่ใช่แหล่งที่มาของมาตรฐาน (อ่านw3fools.com ) ลิงค์ที่ถูกต้องคือw3.org/TR/css3-transitions/#transition-timing-function-property
Michael Lawton

คำตอบ:


250

การเปลี่ยนและภาพเคลื่อนไหวของ CSS3 รองรับการค่อยๆเปลี่ยนซึ่งเรียกอย่างเป็นทางการว่า "ฟังก์ชันจับเวลา" คนทั่วไปจะease-in, ease-out, ease-in-out, easeและlinear, cubic-bezier()หรือคุณสามารถระบุคุณเองโดยใช้

  • ease-in จะเริ่มภาพเคลื่อนไหวอย่างช้าๆและจบด้วยความเร็วสูงสุด
  • ease-out จะเริ่มแอนิเมชั่นด้วยความเร็วเต็มที่จากนั้นจะจบอย่างช้าๆ
  • ease-in-out จะเริ่มอย่างช้าๆเร็วที่สุดที่ตอนกลางของภาพเคลื่อนไหวจากนั้นจบอย่างช้าๆ
  • easeเป็นเหมือนease-in-outยกเว้นว่าจะเริ่มเร็วกว่าที่จะสิ้นสุดเล็กน้อย
  • linear ไม่ใช้การค่อยๆเปลี่ยน
  • ในที่สุดนี่คือคำอธิบายที่ดีของcubic-bezierไวยากรณ์ แต่โดยปกติแล้วจะไม่จำเป็นเว้นแต่คุณจะต้องการเอฟเฟกต์ที่แม่นยำมาก

โดยทั่วไปการค่อยๆเปลี่ยนคือการทำให้ช้าลงเพื่อหยุดการค่อยๆเปลี่ยนคือการเร่งความเร็วอย่างช้าๆและการค่อยๆเปลี่ยนคือการไม่ทำทั้งสองอย่าง คุณสามารถค้นหาแหล่งรายละเอียดเพิ่มเติมได้ที่เอกสารtiming-functionใน MDN

และหากคุณต้องการเอฟเฟกต์ที่แม่นยำดังที่กล่าวมา Cub-bezier.com ของ Lea Verou ก็พร้อมให้คุณแล้ว! นอกจากนี้ยังมีประโยชน์สำหรับการเปรียบเทียบฟังก์ชันการจับเวลาต่างๆในรูปแบบกราฟิก

อีกระยะเวลาการทำงานที่ทำหน้าที่เหมือนแต่ดำเนินการจำนวน จำกัด ของขั้นตอนระหว่างการเริ่มต้นการเปลี่ยนแปลงและสิ้นสุด มีประโยชน์มากที่สุดสำหรับฉันในแอนิเมชั่น CSS3 มากกว่าในช่วงการเปลี่ยนภาพ ตัวอย่างที่ดีคือในการโหลดตัวบ่งชี้ที่มีจุด ตามเนื้อผ้าหนึ่งใช้ชุดของภาพนิ่ง (พูดแปดจุดสองเปลี่ยนสีแต่ละเฟรม) เพื่อสร้างภาพลวงตาของการเคลื่อนไหว ด้วยภาพเคลื่อนไหวและการแปลงร่างคุณกำลังใช้การเคลื่อนไหวเพื่อสร้างภาพลวงตาของเฟรมแยก! สนุกอย่างไร.steps()linearsteps()steps(8)rotate


1
คำอธิบายที่ดี แก้ไขข้อสงสัยของฉัน
นักเรียน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.