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

สร้างเอฟเฟกต์ Rotate In Down Left ด้วย CSS Animation


เอฟเฟกต์ Rotate In Down Left

องค์ประกอบหมุนเข้ามาจากมุมซ้ายล่าง (bottom left) เริ่มจาก -90° จางหาย → 0° มองเห็น ใช้ transform-origin: left bottom

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

<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 rotateInDownLeft {
      0%   { -webkit-transform-origin: left bottom; -webkit-transform: rotate(-90deg); opacity: 0; }
      100% { -webkit-transform-origin: left bottom; -webkit-transform: rotate(0); opacity: 1; }
    }
    @keyframes rotateInDownLeft {
      0%   { transform-origin: left bottom; transform: rotate(-90deg); opacity: 0; }
      100% { transform-origin: left bottom; transform: rotate(0); opacity: 1; }
    }

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

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

ขั้นตอนTransform OriginRotateOpacityพฤติกรรม
0%left bottom-90°0นอนราบ มุมซ้ายล่าง จางหาย
100%left bottom0°1หมุนขึ้นตรง มองเห็น

ครอบครัว Rotate In ครบ 4 มุม

@keyframes rotateInDownLeft  { from { transform-origin: left bottom;  transform: rotate(-90deg); } to { transform-origin: left bottom;  transform: rotate(0); } }
@keyframes rotateInDownRight { from { transform-origin: right bottom; transform: rotate( 90deg); } to { transform-origin: right bottom; transform: rotate(0); } }
@keyframes rotateInUpLeft    { from { transform-origin: left top;     transform: rotate( 90deg); } to { transform-origin: left top;     transform: rotate(0); } }
@keyframes rotateInUpRight   { from { transform-origin: right top;    transform: rotate(-90deg); } to { transform-origin: right top;    transform: rotate(0); } }

การใช้งานจริง: Staggered Entrance

.card:nth-child(1) { animation: rotateInDownLeft 0.5s ease-out 0.0s forwards; }
.card:nth-child(2) { animation: rotateInDownRight 0.5s ease-out 0.1s forwards; }
.card:nth-child(3) { animation: rotateInUpLeft 0.5s ease-out 0.2s forwards; }
.card:nth-child(4) { animation: rotateInUpRight 0.5s ease-out 0.3s forwards; }