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

สร้างเอฟเฟกต์ Bounce Out (ย่อ-ขยายจางหาย) ด้วย CSS


เอฟเฟกต์ Bounce Out

เอฟเฟกต์นี้แตกต่างจากทิศทางอื่นๆ โดยใช้ transform: scale() แทน translate องค์ประกอบจะขยายเล็กน้อย แล้วย่อลงจนหายไป ใช้เหมาะกับการ dismiss แบบเน้นจุดศูนย์กลาง

โค้ดตัวอย่างสมบูรณ์

<html>
<head>
  <style>
    .animated {
      background-image: url(/css/images/logo.png);
      background-repeat: no-repeat;
      background-position: left top;
      padding-top: 95px;
      margin-bottom: 60px;
      -webkit-animation-duration: 10s;
      animation-duration: 10s;
      -webkit-animation-fill-mode: both;
      animation-fill-mode: both;
    }

    @-webkit-keyframes bounceOut {
      0%   { -webkit-transform: scale(1); }
      25%  { -webkit-transform: scale(0.95); }
      50%  { opacity: 1; -webkit-transform: scale(1.1); }
      100% { opacity: 0; -webkit-transform: scale(0.3); }
    }
    @keyframes bounceOut {
      0%   { transform: scale(1); }
      25%  { transform: scale(0.95); }
      50%  { opacity: 1; transform: scale(1.1); }
      100% { opacity: 0; transform: scale(0.3); }
    }

    .bounceOut {
      -webkit-animation-name: bounceOut;
      animation-name: bounceOut;
    }
  </style>
</head>
<body>
  <div id="animated-example" class="animated bounceOut"></div>
  <button onclick="myFunction()">Reload page</button>
  <script>
    function myFunction() { location.reload(); }
  </script>
</body>
</html>

การวิเคราะห์ Keyframes

ขั้นตอนScaleOpacityพฤติกรรม
0%1.01ขนาดปกติ
25%0.951ย่อเล็กน้อย (เก็บแรง)
50%1.11ขยายออก (เด้ง)
100%0.30ย่อจนหาย

การประยุกต์ใช้

เหมาะสำหรับ: ปิด modal, ลบ item ออกจากรายการ, ซ่อน notification โดยใช้ animation-fill-mode: forwards คงสถานะสุดท้ายไว้