パーツ番号 05-01-05 ・ JavaScript使用
3Dチルトカード
マウス位置に応じてカードが立体的に傾くリッチな演出。WordPressのLPでキャンペーンや目玉商品の訴求に効果的です。
プレビュー
ソースコード
HTML
<div class="tilt05-01-05">
<div class="card05-01-05">
<div class="shine05-01-05"></div>
<div class="badge05-01-05">NEW</div>
<h4>プレミアムプラン</h4>
<p>マウスの位置に合わせてカードが立体的に傾きます。</p>
</div>
</div>CSS
.prev.d05-01-05{background:#1e2436}
.d05-01-05 .tilt05-01-05{perspective:700px}
.d05-01-05 .card05-01-05{
position:relative;width:220px;height:190px;border-radius:16px;
background:linear-gradient(150deg,#2f3a5c 0%,#232b45 100%);
border:1px solid rgba(255,255,255,.12);
padding:22px;color:#fff;overflow:hidden;cursor:pointer;
transform-style:preserve-3d;transition:transform .15s ease-out;
box-shadow:0 14px 30px rgba(0,0,0,.4);
}
.d05-01-05 .shine05-01-05{
position:absolute;inset:-40%;
background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.18),transparent 55%);
pointer-events:none;opacity:0;transition:opacity .3s;
}
.d05-01-05 .card05-01-05.on05-01-05 .shine05-01-05{opacity:1}
.d05-01-05 .badge05-01-05{
display:inline-block;font-size:9px;letter-spacing:.12em;
background:#e8b34b;color:#2a2410;padding:3px 8px;border-radius:99px;
font-weight:700;margin-bottom:14px;
}
.d05-01-05 .card05-01-05 h4{margin:0 0 8px;font-size:15px}
.d05-01-05 .card05-01-05 p{margin:0;font-size:11px;line-height:1.7;opacity:.75}JavaScript
(function(){
var card=document.querySelector('.d05-01-05 .card05-01-05');
var shine=document.querySelector('.d05-01-05 .shine05-01-05');
if(!card)return;
card.addEventListener('mousemove',function(e){
var r=card.getBoundingClientRect();
var x=(e.clientX-r.left)/r.width-.5;
var y=(e.clientY-r.top)/r.height-.5;
card.style.transform='rotateY('+(x*18)+'deg) rotateX('+(-y*18)+'deg)';
shine.style.background='radial-gradient(circle at '+((x+.5)*100)+'% '+((y+.5)*100)+'%,rgba(255,255,255,.22),transparent 55%)';
card.classList.add('on05-01-05');
});
card.addEventListener('mouseleave',function(){
card.style.transform='rotateY(0) rotateX(0)';
card.classList.remove('on05-01-05');
});
})();クラス名 .d05-01-05 は本ライブラリ内での識別用です。複数のパーツを同じページで使う場合は、重複しないよう名前を変更してください。