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

สร้างเอฟเฟกต์ Flip Out X ด้วย CSS Animation


เอฟเฟกต์ Flip Out X

องค์ประกอบหมุนรอบแกน X (แนวนอน) จาก 0° ไป 90° พร้อมจางหาย คล้ายการพลิกบัตรหน้าที่ทิ้งไป ใช้ perspective สร้างความลึก

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

<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: 1s;
      animation-duration: 1s;
      -webkit-animation-fill-mode: both;
      animation-fill-mode: both;
    }

    @-webkit-keyframes flipOutX {
      0%   { -webkit-transform: perspective(400px) rotateX(0deg); opacity: 1; }
      100% { -webkit-transform: perspective(400px) rotateX(90deg); opacity: 0; }
    }
    @keyframes flipOutX {
      0%   { transform: perspective(400px) rotateX(0deg); opacity: 1; }
      100% { transform: perspective(400px) rotateX(90deg); opacity: 0; }
    }

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

คำอธิบายคีย์พอยต์

คุณสมบัติหน้าที่
perspective(400px)สร้างมุมมอง 3D ระยะห่าง 400px
rotateX(0deg → 90deg)หมุนรอบแกน X จากแบน → ขึ้น 90°
backface-visibility: visibleแสดงด้านหลังขณะหมุน (สำคัญ!)
animation-fill-mode: bothคงสถานะเริ่มต้น/สิ้นสุด

เวเรียนท์ Flip ทิศทางอื่น

  • flipOutY: หมุนรอบแกน Y (แนวตั้ง) - พลิกซ้าย-ขวา
  • flipInX/flipInY: เข้ามาแทนที่จะออก
  • flip: หมุน 360° ครบรอบ (ดูบทความต่อไป)