CSSを学びたい Step8 アニメーション(keyframes)

## はじめに
CSSを学びたいStep8です！今回はアニメーションのkeyframesを学んでいきます！

## 1. keyframes slide

![keyframes.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599049/1fca3a37-07a0-e8b0-be21-c10cba0433a6.gif)

## ソースコード
```html:index.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS Keyframes Animation Example</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="box"></div>
</body>
</html>
```
```css:styles.css
/* アニメーションの定義 */
@keyframes slide {
    0% {
        transform: translateX(0);
        background-color: #3498db;
    }
    50% {
        transform: translateX(100px);
        background-color: #2ecc71;
    }
    100% {
        transform: translateX(0);
        background-color: #3498db;
    }
}

/* アニメーションを適用する要素のスタイル */
.box {
    width: 100px;
    height: 100px;
    background-color: #3498db;
    animation: slide 3s infinite;
}
```

## 2. keyframes rotate
![rotate.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599049/60ed1bf4-6ec6-ff26-1e25-c69f88456ec9.gif)

```html:index.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Rotate Animation Example</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="rotate-box"></div>
</body>
</html>
```
```css:styles.css
/* 回転アニメーションの定義 */
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* アニメーションを適用する要素のスタイル */
.rotate-box {
    width: 100px;
    height: 100px;
    background-color: #e74c3c;
    animation: rotate 2s linear infinite;
}
```

### 3. keyframes fadeIn
![fadein.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599049/682d15b1-afd0-3bf1-1b75-717bf10e69e9.gif)

```html:index.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Fade In Animation Example</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="fade-in-box"></div>
</body>
</html>
```

```css:styles.css
/* フェードインアニメーションの定義 */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* アニメーションを適用する要素のスタイル */
.fade-in-box {
    width: 100px;
    height: 100px;
    background-color: #3498db;
    animation: fadeIn 2s ease-in-out;
}
```

### 4. keyframes scaleUp

![scaleup.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599049/8ddeb918-e7e9-d468-6092-6981e04df267.gif)

```html:index.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Scale Up Animation Example</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="scale-up-box"></div>
</body>
</html>
```

```css:styles.css
/* スケールアップアニメーションの定義 */
@keyframes scaleUp {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.5);
    }
}

/* アニメーションを適用する要素のスタイル */
.scale-up-box {
    width: 100px;
    height: 100px;
    background-color: #2ecc71;
    animation: scaleUp 1s ease-in-out infinite alternate;
}
```

## おわりに
アニメーションを実装しました！！こういうのが実現できるのはCSSのいいところですね！