花潮论坛

搜索
热搜: 活动 交友 discuz
查看: 41|回复: 12

魔幻立体球演示

[复制链接]
  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

    发表于 2025-7-19 17:41 | 显示全部楼层 |阅读模式

    请马上登录,朋友们都在花潮里等着你哦:)

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    评分

    参与人数 2威望 +80 金钱 +160 经验 +80 收起 理由
    杨帆 + 30 + 60 + 30 精品文章!
    红影 + 50 + 100 + 50 赞一个!

    查看全部评分

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-7-19 17:41 | 显示全部楼层
    代码

    1. <style>
    2.     #player {
    3.         margin: 100px 0 100px calc(50% - 150px);
    4.         position: relative;
    5.         width: 300px;
    6.         height: 300px;
    7.         border-radius: 50%;
    8.         background: radial-gradient(beige, skyblue);
    9.         perspective: 600px;
    10.         transform-style: preserve-3d;
    11.     }
    12.     .ring {
    13.         position: absolute;
    14.         width: 100%;
    15.         height: 100%;
    16.         border: thick dashed var(--cc);
    17.         border-radius: 50%;
    18.         transform: translateZ(-30px) rotateX(var(--ax)) rotateY(var(--ay));
    19.     }
    20. </style>

    21. <div id="player" title="播放/暂停"></div>

    22. <script>
    23.     var total = 15, rings = [], step = 0.5, isRun = false, raf;

    24.     Array.from({length: total}).forEach( (d,k) => {
    25.         d = document.createElement('div');
    26.         d.className = 'ring';
    27.         const a = k * 360 / total;
    28.         d.style.cssText += `
    29.             --ax: ${a}deg;
    30.             --ay: ${a}deg;
    31.             --cc: #${Math.random().toString(16).substring(2,8)};
    32.         `;
    33.         rings.push({ elm: d, a: a });
    34.         player.appendChild(d);
    35.     });

    36.     const animate = () => {
    37.         rings.forEach( (d, k) => {
    38.             d.a = d.a + step;
    39.             d.elm.style.setProperty('--ax', d.a + 'deg');
    40.             d.elm.style.setProperty('--ay', d.a + 'deg');
    41.         });
    42.         raf = requestAnimationFrame(animate);
    43.     };

    44.     player.onclick = () => {
    45.         isRun = !isRun;
    46.         isRun ? animate() : cancelAnimationFrame(raf);
    47.     };
    48. </script>
    复制代码


    评分

    参与人数 1威望 +50 金钱 +100 经验 +50 收起 理由
    红影 + 50 + 100 + 50 赞一个!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-7-19 17:56 | 显示全部楼层
    CSS和HTML:

    容器元素 player 设置为 300*300 的尺寸,子元素 ring 圆环每一个都和父元素一样大小,然后在X轴、Y轴上均匀旋转,使用的CSS变量分别是 --ax、--ay,它们在后续JS中赋值,--ax 其实等于 --ay,之所以设置两个变量,最初考虑是让这两个值有所不同——这也许是另一种可能。

    translateZ(-30px) 仅是在层次上做一点点距离拉开,不要的话默认圆环在Z轴上都是0.

    JS相对简单:

    变量 total 是圆环总数,rings 是圆环数组,step 是圆环旋转幅度,isRun 是动画运行开关,raf 是请求关键帧动画 requestanimationframe ID。

    根据 total 变量创建圆环,圆环使用 div 标签,CSS类名为 ring,圆环的旋转角度平均化,并记录圆环的名称和所分配的角度到数组 rings 中。

    动画函数 animate,遍历 rings 数组,改变其角度值,并将·改变的值设置到 --ax 和 --ay 这两个CSS变量,然后通过 requestanimationframe API 递归调用函数自身,形成持续运行动画的效果。

    动画可控。作为演示,使用 player 的点击事件来完成:每一次单击它时,动画开关变量取反,即真时变为假、假时变为真,然后依据 isRun 的值决定时播放动画还是取消动画。

    评分

    参与人数 1威望 +50 金钱 +100 经验 +50 收起 理由
    红影 + 50 + 100 + 50 赞一个!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-7-19 17:58 | 显示全部楼层
    圆环边框有多种选择,包括粗细、样式在内。圆环边框颜色可以不随机。

    step 角度增幅可以根据需要设置为不同的数值。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-11-17 10:56
  • 签到天数: 1050 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2025-7-19 20:44 | 显示全部楼层
    这些圆环因为有立体的远近而线条的粗细不同,随着角度变化着,很奇妙
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-11-30 00:22
  • 签到天数: 380 天

    [LV.9]以坛为家II

    297

    主题

    2548

    回帖

    1万

    积分

    版主

    Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生鹰傲苍穹飞龙在天王者至尊大将风范花潮版主

    发表于 2025-7-19 21:05 | 显示全部楼层
    奇妙的构思,魔幻的效果,谢谢马老师经典讲授与分享
    ★青春是一个人的精神生命,奋斗是一个人最大的体面,学习是一个人最美的姿态。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-7-19 23:53 | 显示全部楼层
    杨帆 发表于 2025-7-19 21:05
    奇妙的构思,魔幻的效果,谢谢马老师经典讲授与分享

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-7-19 23:53 | 显示全部楼层
    红影 发表于 2025-7-19 20:44
    这些圆环因为有立体的远近而线条的粗细不同,随着角度变化着,很奇妙

    CSS的真三维和模拟三维是不一样的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-11-17 10:56
  • 签到天数: 1050 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2025-7-20 14:23 | 显示全部楼层
    马黑黑 发表于 2025-7-19 23:53
    CSS的真三维和模拟三维是不一样的

    还有真三维?不是都是模拟的么?
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-7-20 16:07 | 显示全部楼层
    红影 发表于 2025-7-20 14:23
    还有真三维?不是都是模拟的么?

    你设置了 perspective 和 transform 3d,它就是真三维的模拟,假三维模拟指通过阴影等手段实现,不启用三维视图。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-11-17 10:56
  • 签到天数: 1050 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2025-7-20 18:51 | 显示全部楼层
    马黑黑 发表于 2025-7-20 16:07
    你设置了 perspective 和 transform 3d,它就是真三维的模拟,假三维模拟指通过阴影等手段实现,不启用三 ...

    哦,假三维是指阴影等手段的运用啊。嗯嗯,知道了
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2025-11-30 07:45
  • 签到天数: 1655 天

    [LV.Master]伴坛终老

    3024

    主题

    13万

    回帖

    28万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮帅哥鼠牛虎兔龙蛇马羊猴鸡狗猪多彩人生星月交辉奔放热烈海样胸怀春风拂面火热情怀优雅迷人神秘浪漫相遇之美鹰傲苍穹花好月圆紫色情节飞龙在天王者至尊大将风范音画大师天籁妙音共看流星风雨同行我心永远幸福快乐喜乐安康侠骨柔肠心想事成开朗大方花潮管理

     楼主| 发表于 2025-7-20 18:58 | 显示全部楼层
    红影 发表于 2025-7-20 18:51
    哦,假三维是指阴影等手段的运用啊。嗯嗯,知道了

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-11-17 10:56
  • 签到天数: 1050 天

    [LV.10]以坛为家III

    1881

    主题

    32万

    回帖

    37万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

    花潮美女虎龙狗猪多彩人生星月交辉海样胸怀火热情怀优雅迷人神秘浪漫缤纷心情草莓情怀蝴蝶情怀心曲飞扬星星情怀七彩绚丽活泼开朗女儿情怀相遇之美一往情深花好月圆心香一瓣紫色情节飞龙在天金剪刀天籁妙音妙笔生花风雨同行我心永远天长地久幸福快乐绚丽缤纷喜乐安康中秋征文周年庆指尖上的流年舞会之星分析(喊冤)章总结章杀人王小强章最佳杀刺临屏写诗七夕诗钟活动第五届风云第六届风云情人节花潮管理

    发表于 2025-7-20 22:06 | 显示全部楼层

    其实都不是真的,只是假三维的更假点
     
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|手机版|Archiver|服务支持:DZ动力|huachaowang.com Inc. ( 蜀ICP备17032287号-1 )

    GMT+8, 2025-11-30 16:16 , Processed in 0.084293 second(s), 30 queries .

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表