CSS Transitions

↓↓↓ クリックしてみてね ↓↓↓

CSS Transitions
Box-Area

「クリック」ボタンがクリックされると、.box 要素が赤く拡大し、1秒後に元の青い状態に戻るシンプルなアニメーションを実現しています。このアニメーションは、CSSのトランジションを使用してスムーズに実行され、JavaScriptが要素のスタイルを変更することでトリガーされます。

HTML (index.html):

  • HTMLファイルは、基本的な構造を持つウェブページを定義しています。<div> 要素と <button> 要素が中央に配置されています。
  • ページのヘッダーで、文字エンコーディングとビューポート設定を指定し、外部のCSSファイル(styles.css)とJavaScriptファイル(script.js)を読み込んでいます。

CSS (style.css):

  • CSSファイルは、.box クラスにスタイルを適用しています。
  • .box クラスは、幅と高さを100pxに設定し、背景色を青に設定します。
  • transition プロパティを使用して、幅、高さ、背景色の変更が1秒かけてアニメーション化されるように設定されています。

JavaScript (script.js):

  • JavaScriptファイルでは、getElementById メソッドを使用して、HTMLから要素を取得しています。
  • animateButton ボタンがクリックされたときに、click イベントリスナーが呼び出され、アニメーションが開始されます。
  • box 要素の幅、高さ、背景色が変更され、これによりアニメーションがトリガーされます。
  • setTimeout 関数を使用して、1秒後に要素のスタイルを元に戻すコードが実行されます。
CopyCode


    <!DOCTYPE html>

    <html>
    
    <head>

        <meta charset="UTF-8">

        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <title>CSS Transitions</title>

        <link rel="stylesheet" href="styles.css">

    </head>
    
    <body>

        <br>

        <center><div class="box" id="animated-box">Box-Area</div></center>

        <br>

        <center><button id="animate-button">クリック</button></center>

        <script src="script.js"></script>

    </body>
    
    </html>
        


    .box {

        width: 100px;

        height: 100px;

        background-color: blue;

        transition: width 1s, height 1s, background-color 1s;

        text-align: center;

        line-height: 100px;

        color: white;

        cursor: pointer;
        
    }
        


    const box = document.getElementById('animated-box');
    
    const animateButton = document.getElementById('animate-button');
    
    animateButton.addEventListener('click', () => {
    
        box.style.width = '200px';
    
        box.style.height = '200px';
    
        box.style.backgroundColor = 'red';
    
        setTimeout(() => {
    
            box.style.width = '100px';
    
            box.style.height = '100px';
    
            box.style.backgroundColor = 'blue';
            
        }, 1000);
    });
        
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次