Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
0
水平移动鼠标
css
body, html { width: 100%; height: 100%; padding: 0; margin: 0; background: #2e2d31; overflow: hidden; } .wrapper { position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; } .wrapper-3d { position: relative; perspective: 250px; transform-style: preserve-3d; } .image { height: 175px; width: 300px; } .carousel-wrapper { overflow: hidden; width: 60vw; height: 80vh; } .carousel-container { display: flex; flex-direction: row; width: 100%; height: 100%; transition: all 0.5s ease-out; } .slide { flex-shrink: 0; width: 100%; height: 100%; } /* The trick is to position them on their respective side Then set transform-origin to that siede And put desired angle */ .left-3d { position: absolute; transform-origin: right center; transform: rotateY(100deg); top: 0; bottom: 0; right: calc(100%); } #left { transform: translateX(0%); } #center { transform: translateX(-100%); } .right-3d { position: absolute; transform-origin: left center; transform: rotateY(-100deg); top: 0; bottom: 0; left: calc(100%); } #right { transform: translateX(-200%); } .first, .second, .third { background-size: cover; } .first { background-image: url("https://picsum.photos/id/179/1355/897"); } .second { background-image: url("https://picsum.photos/id/176/1355/897"); background-position-y: 50%; } .third { background-image: url("https://picsum.photos/id/169/1355/897"); background-position-y: 50%; } .debug { position: absolute; text-align: center; width: 100%; font-size: 1.10em; font-family: sans-serif; letter-spacing: 0.1em; font-weight: 200; margin: 0; margin-top: 10px; color: #fafafaee; } .debug-top { top: 2vh; } .debug-bot { bottom: 2vh; } .fa { font-size: 15rem; color: #fafafa99; line-height: 20px; } @media only screen and (min-width: 1600px) { .right-3d { transform: none; transform: rotateY(-120deg); } .left-3d { transform: none; transform: rotateY(120deg); } }
JavaScript
/* 3d Carousel with set-width carousel. It's just 3 different views of the carousel. The side items have rotation with transition-origin on their respective edge And everything is wrapped by a perspective wrapper For set-width images with auto-width carousel check: **link** */ // width - padding = min // padding = max const padding = 200; const slidesCount = 3 - 1; function map(x, in_min, in_max, out_min, out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } document.addEventListener('mousemove', (e)=>{ // Change to bodywidth const wrapper = document.getElementById('wrapper') const rect = wrapper.getBoundingClientRect(); // Mouse position in between padding const mouseX = Math.min(Math.max(e.clientX - padding,0),rect.width - padding * 2); const rawPercent = map(mouseX, 0, rect.width - padding * 2, 100 - 100 * slidesCount, 100); const percent = Math.round(rawPercent) const left = document.getElementById('left'); const center = document.getElementById('center'); const right = document.getElementById('right'); left.style.transform = `translateX(${percent}%)`; center.style.transform = `translateX(${percent - 100}%)`; right.style.transform = `translateX(${percent - 200}%)`; //debug const paragraph = document.getElementById('t'); paragraph.innerHTML = percent; })
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>CSS三维图片旋转轮播-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号