在jQuery和CSS3之上构建的3D交互式多层倾斜悬停效果。可以用来突出页面上的特色内容或行动呼吁,吸引用户的注意力,鼓励他们参与您的网站。
它使用CSS3 3D转换来旋转和平移一组元素,以响应光标的移动。通过在3D空间中旋转元素,您可以创建深度错觉,让您的内容感觉更具沉浸感和互动性
1.将您的内容添加到网页中。
<section class="section"> <div class="card"> <img src="1.jpg" class="card-image" class="card-image" /> <h4 class="card-title">Hover Me</h4> <p class="card-text">This is a hover effect</p> </div> </section>
2.必要的CSS样式。
.section{ width: 250px; margin: 40px auto; transform-style: preserve-3d; transform: translateZ(100px); } .card{ width: 250px; padding:10px; text-align: justify; transform-style: preserve-3d; transform: translateZ(100px); -webkit-transform: translateZ(100px); -moz-transform: translateZ(100px); -ms-transform: translateZ(100px); -o-transform: translateZ(100px); background-color:#ddd; } .card-image{ width: 230px; transform-style: preserve-3d; transform:translateZ(100px); -webkit-transform:translateZ(100px); -moz-transform:translateZ(100px); -ms-transform:translateZ(100px); -o-transform:translateZ(100px); } .card-text, .card-title{ transform-style: preserve-3d; transform:translateZ(50px); -webkit-transform:translateZ(50px); -moz-transform:translateZ(50px); -ms-transform:translateZ(50px); -o-transform:translateZ(50px); }
3.在文档末尾加载最新的jQuery库。
<script src="/path/to/cdn/jquery.slim.min.js"></script>
4.启用鼠标移动时的悬停效果。
var card = $(".card"); $(document).on("mousemove",function(e) { var ax = -($(window).innerWidth()/2- e.pageX)/20; var ay = ($(window).innerHeight()/2- e.pageY)/10; card.attr("style", "transform: rotateY("+ax+"deg) rotateX("+ay+"deg);-webkit-transform: rotateY("+ax+"deg) rotateX("+ay+"deg);-moz-transform: rotateY("+ax+"deg) rotateX("+ay+"deg)"); });