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

การทำ Animation บนคุณสมบัติ CSS flex-shrink

หากต้องการนำ animation ไปใช้กับคุณสมบัติ flex-shrink ใน CSS สามารถทดลองรันโค้ดตัวอย่างด้านล่างได้

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

<!DOCTYPE html> <html>    <head>       <style>          .mycontainer {             display: flex;             background-color: orange;          }          .mycontainer > div {             background-color: white;             text-align: center;             line-height: 150px;             font-size: 30px;             width: 100px;             margin: 5px;          }          div {             animation: myanim 4s infinite;          }          @-webkit-keyframes myanim {             70% {                flex-shrink: 1;             }          }       </style>    </head>    <body>       <h1>Quiz</h1>       <div class = "mycontainer">          <div>Q1</div>          <div>Q2</div>          <div>Q3</div>          <div style = "flex-shrink: 0">Q4</div>          <div>Q5</div>          <div>Q6</div>          <div>Q7</div>          <div>Q8</div>          <div>Q9</div>          </div>    </body> </html>

คำอธิบาย

ตัวอย่างนี้ทำ animation flex-shrink จาก 0 (ค่าเริ่มต้นของบาง item) เป็น 1 ที่ 70% ของระยะเวลา Item Q4 มี flex-shrink: 0 แบบ inline style ทำให้ไม่หดตัว ขณะที่ item อื่นๆ จะหดตัวลงเมื่อ container แคบลง

เกี่ยวกับ flex-shrink:

  • flex-shrink: 0 - ไม่หดตัว (เก็บขนาดเดิม)
  • flex-shrink: 1 - หดตัวตามสัดส่วน (ค่าเริ่มต้น)
  • flex-shrink: <number> - หดตัวตามสัดส่วนที่กำหนด

หมายเหตุ: flex-shrink ทำงานก็ต่อเมื่อ flex items กว้างกว่า container (overflow) และไม่ได้ตั้งค่า flex-wrap: wrap