กวดวิชาCSS

CSS HOME บทนำ CSS ไวยากรณ์ CSS ตัวเลือก CSS CSS วิธีการ ความคิดเห็น CSS CSS สี พื้นหลัง CSS CSS Borders CSS Margins CSS Padding CSS ความสูง/ความกว้าง โมเดลกล่อง CSS CSS Outline CSS Text แบบอักษร CSS ไอคอน CSS ลิงค์ CSS รายการ CSS ตาราง CSS จอแสดงผล CSS CSS ความกว้างสูงสุด ตำแหน่ง CSS CSS Z-ดัชนี CSS Overflow CSS Float CSS Inline-block CSS Align CSS Combinators CSS Pseudo-class CSS Pseudo-element CSS ความทึบ แถบนำทาง CSS CSS Dropdowns CSS Image Gallery CSS Image Sprites CSS Attr Selectors แบบฟอร์ม CSS CSS Counters เค้าโครงเว็บไซต์ CSS หน่วย CSS ความจำเพาะของ CSS CSS !สำคัญ ฟังก์ชันคณิตศาสตร์ CSS

CSS ขั้นสูง

CSS มุมโค้งมน รูปภาพ CSS Border พื้นหลัง CSS CSS สี คำหลักสี CSS CSS Gradients CSS Shadows เอฟเฟกต์ข้อความ CSS CSS Web Fonts การแปลง CSS 2D การแปลง CSS 3D การเปลี่ยน CSS ภาพเคลื่อนไหว CSS CSS Tooltips CSS สไตล์รูปภาพ ภาพสะท้อน CSS CSS วัตถุพอดี CSS วัตถุตำแหน่ง CSS Masking ปุ่ม CSS CSS Pagination CSS หลายคอลัมน์ ส่วนต่อประสานผู้ใช้ CSS ตัวแปร CSS ขนาดกล่อง CSS CSS Media Queries ตัวอย่าง CSS MQ CSS Flexbox

CSS Responsive

แนะนำ RWD วิวพอร์ต RWD RWD Grid View แบบสอบถามสื่อ RWD รูปภาพ RWD วิดีโอ RWD กรอบงาน RWD เทมเพลต RWD

CSS Grid

บทนำกริด คอนเทนเนอร์กริด รายการกริด

CSS SASS

กวดวิชา SASS

ตัวอย่างCSS

เทมเพลต CSS ตัวอย่าง CSS แบบทดสอบ CSS แบบฝึกหัด CSS ใบรับรอง CSS

การอ้างอิงCSS

การอ้างอิง CSS ตัวเลือก CSS ฟังก์ชัน CSS CSS อ้างอิง Aural CSS Web Safe Fonts CSS Animable หน่วย CSS ตัวแปลง CSS PX-EM CSS สี ค่าสี CSS ค่าดีฟอลต์ CSS รองรับเบราว์เซอร์ CSS

การ เปลี่ยน CSS


การเปลี่ยน CSS

การเปลี่ยน CSS ช่วยให้คุณเปลี่ยนค่าคุณสมบัติได้อย่างราบรื่นตลอดระยะเวลาที่กำหนด

วางเมาส์เหนือองค์ประกอบด้านล่างเพื่อดูเอฟเฟกต์การเปลี่ยน CSS:

CSS

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับคุณสมบัติดังต่อไปนี้:

  • transition
  • transition-delay
  • transition-duration
  • transition-property
  • transition-timing-function

การสนับสนุนเบราว์เซอร์สำหรับการเปลี่ยน

ตัวเลขในตารางระบุเบราว์เซอร์รุ่นแรกที่สนับสนุนคุณสมบัติอย่างสมบูรณ์

Property
transition 26.0 10.0 16.0 6.1 12.1
transition-delay 26.0 10.0 16.0 6.1 12.1
transition-duration 26.0 10.0 16.0 6.1 12.1
transition-property 26.0 10.0 16.0 6.1 12.1
transition-timing-function 26.0 10.0 16.0 6.1 12.1

วิธีการใช้การเปลี่ยน CSS?

ในการสร้างเอฟเฟกต์การเปลี่ยน คุณต้องระบุสองสิ่ง:

  • คุณสมบัติ CSS ที่คุณต้องการเพิ่มเอฟเฟกต์
  • ระยะเวลาของผลกระทบ

หมายเหตุ:หากไม่ได้ระบุส่วนของระยะเวลา การเปลี่ยนแปลงจะไม่มีผล เนื่องจากค่าเริ่มต้นคือ 0

ตัวอย่างต่อไปนี้แสดงองค์ประกอบ <div> สีแดง 100px * 100px องค์ประกอบ <div> ยังได้ระบุเอฟเฟกต์การเปลี่ยนแปลงสำหรับคุณสมบัติ width ด้วยระยะเวลา 2 วินาที:

ตัวอย่าง

div {
  width: 100px;
  height: 100px;
  background: red;
  transition: width 2s;
}

เอฟเฟกต์การเปลี่ยนแปลงจะเริ่มขึ้นเมื่อคุณสมบัติ CSS ที่ระบุ (ความกว้าง) เปลี่ยนค่า

ตอนนี้ ให้เราระบุค่าใหม่สำหรับคุณสมบัติ width เมื่อผู้ใช้วางเมาส์เหนือองค์ประกอบ <div>:

ตัวอย่าง

div:hover {
  width: 300px;
}

สังเกตว่าเมื่อเคอร์เซอร์เลื่อนเมาส์ออกจากองค์ประกอบ จะค่อยๆ เปลี่ยนกลับเป็นสไตล์ดั้งเดิม


เปลี่ยนค่าคุณสมบัติหลายอย่าง

ตัวอย่างต่อไปนี้เพิ่มเอฟเฟกต์การเปลี่ยนแปลงสำหรับคุณสมบัติความกว้างและความสูง ด้วยระยะเวลา 2 วินาทีสำหรับความกว้างและ 4 วินาทีสำหรับความสูง:

ตัวอย่าง

div {
  transition: width 2s, height 4s;
}


ระบุเส้นโค้งความเร็วของการเปลี่ยนภาพ

คุณสมบัติtransition-timing-functionระบุเส้นโค้งความเร็วของเอฟเฟกต์การเปลี่ยนแปลง

คุณสมบัติ Transition-timing-function สามารถมีค่าต่อไปนี้:

  • ease - ระบุเอฟเฟกต์การเปลี่ยนด้วยการเริ่มช้า จากนั้นเร็ว จากนั้นสิ้นสุดอย่างช้าๆ (นี่เป็นค่าเริ่มต้น)
  • linear - ระบุเอฟเฟกต์การเปลี่ยนแปลงด้วยความเร็วเท่ากันตั้งแต่ต้นจนจบ
  • ease-in - ระบุเอฟเฟกต์การเปลี่ยนแปลงด้วยการเริ่มช้า
  • ease-out - ระบุเอฟเฟกต์การเปลี่ยนแปลงด้วยการสิ้นสุดที่ช้า
  • ease-in-out - ระบุเอฟเฟกต์การเปลี่ยนแปลงด้วยการเริ่มและสิ้นสุดที่ช้า
  • cubic-bezier(n,n,n,n) - ให้คุณกำหนดค่าของคุณเองในฟังก์ชันลูกบาศก์เบซิเยร์

ตัวอย่างต่อไปนี้แสดงเส้นโค้งความเร็วต่างๆ ที่สามารถใช้ได้:

ตัวอย่าง

#div1 {transition-timing-function: linear;}
#div2 {transition-timing-function: ease;}
#div3 {transition-timing-function: ease-in;}
#div4 {transition-timing-function: ease-out;}
#div5 {transition-timing-function: ease-in-out;}

ชะลอเอฟเฟกต์การเปลี่ยนภาพ

คุณสมบัติระบุ การtransition-delayหน่วงเวลา (เป็นวินาที) สำหรับเอฟเฟกต์การเปลี่ยนแปลง

ตัวอย่างต่อไปนี้มีความล่าช้า 1 วินาทีก่อนเริ่มต้น:

ตัวอย่าง

div {
  transition-delay: 1s;
}

การเปลี่ยนแปลง + การเปลี่ยนแปลง

ตัวอย่างต่อไปนี้เพิ่มเอฟเฟกต์การเปลี่ยนแปลงให้กับการแปลง:

ตัวอย่าง

div {
  transition: width 2s, height 2s, transform 2s;
}

ตัวอย่างการเปลี่ยนแปลงเพิ่มเติม

คุณสมบัติการเปลี่ยน CSS สามารถระบุได้ทีละรายการดังนี้:

ตัวอย่าง

div {
  transition-property: width;
  transition-duration: 2s;
  transition-timing-function: linear;
  transition-delay: 1s;
}

หรือโดยใช้คุณสมบัติชวเลขtransition:

ตัวอย่าง

div {
  transition: width 2s linear 1s;
}

ทดสอบตัวเองด้วยแบบฝึกหัด

ออกกำลังกาย:

เพิ่มเอฟเฟกต์การเปลี่ยนแปลง 2 วินาทีสำหรับการเปลี่ยนแปลงความกว้างขององค์ประกอบ <div>

<style>
div {
  width: 100px;
  height: 100px;
  background: red;
  : ;
}

div:hover {
  width: 300px;
}
</style>

<body>
  <div>This is a div</div>
</body>


คุณสมบัติการเปลี่ยน CSS

ตารางต่อไปนี้แสดงรายการคุณสมบัติการเปลี่ยน CSS ทั้งหมด:

Property Description
transition A shorthand property for setting the four transition properties into a single property
transition-delay Specifies a delay (in seconds) for the transition effect
transition-duration Specifies how many seconds or milliseconds a transition effect takes to complete
transition-property Specifies the name of the CSS property the transition effect is for
transition-timing-function Specifies the speed curve of the transition effect