ボックスシャドウのトランジション効果を実現する方法


  1. CSSのtransitionプロパティを使用する方法:

    .box {
     box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
     transition: box-shadow 0.3s ease;
    }
    
    .box:hover {
     box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    }

    上記の例では、要素にマウスをホバーするとボックスシャドウが拡大されます。transitionプロパティは、box-shadowプロパティの変化を0.3秒かけて滑らかに適用します。

  2. CSSのkeyframesを使用する方法:

    @keyframes shadow-transition {
     0% {
       box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
     }
     100% {
       box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
     }
    }
    
    .box {
     animation: shadow-transition 0.3s ease;
    }

    上記の例では、keyframesを使用してボックスシャドウの変化を定義し、animationプロパティで適用します。要素に対してアニメーションが適用されると、ボックスシャドウが変化します。

  3. JavaScriptを使用する方法:

    const box = document.querySelector('.box');
    
    box.addEventListener('mouseenter', () => {
     box.style.boxShadow = '0 0 10px rgba(0, 0, 0, 0.5)';
    });
    
    box.addEventListener('mouseleave', () => {
     box.style.boxShadow = '0 0 5px rgba(0, 0, 0, 0.5)';
    });

    上記の例では、JavaScriptを使用してマウスイベントに応じてボックスシャドウを変更します。要素にマウスが乗ったときと離れたときにボックスシャドウが変化します。

これらの方法を使用すると、ボックスシャドウにトランジション効果を追加することができます。デザインに適した方法を選択し、コードを実装してください。