当前位置: 首页 > news >正文

纯 CSS 实现无限楼梯动画效果,视觉欺骗也能这么好玩

亲们好,最近捣鼓 CSS 动画的时候,发现了一个超有意思的小效果 —— 无限楼梯动画。不用一行 JavaScript,只靠 CSS 的 @keyframes 和自定义属性,就能做出视觉上无限延伸的楼梯效果,既简单又治愈。

这个效果的核心其实是利用 CSS 动画的位移和视觉欺骗,配合自定义属性来批量生成楼梯的层级,整体实现起来不难,新手也能跟着做。做好之后放在页面里,不管是当小彩蛋还是练手,都超合适。下面就把完整的代码和详细注释分享出来。

完整源码(附详细注释)

HTML 部分

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><!-- 适配移动端,保证动画在手机端正常展示 --><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>无限楼梯CSS动画效果</title><!-- 引入外部样式文件,分离结构与样式 --><link rel="stylesheet" href="./style.css">
</head>
<body><!-- 外层窗口容器:限定动画展示范围,模拟可视化窗口 --><div class="window"><!-- 楼梯容器:承载所有楼梯层级,是动画的核心载体 --><div class="stair"><!-- 10个span分别对应一级楼梯,通过自定义属性--i区分层级 --><span style="--i: 1;"></span><span style="--i: 2;"></span><span style="--i: 3;"></span><span style="--i: 4;"></span><span style="--i: 5;"></span><span style="--i: 6;"></span><span style="--i: 7"></span><span style="--i: 8;"></span><span style="--i: 9;"></span><span style="--i: 10;"></span></div></div>
</body>
</html>

CSS 部分

/* 全局样式重置:清除浏览器默认边距/内边距,统一盒模型 */
*{margin: 0;padding: 0;box-sizing: border-box;
}/* 页面主体样式:让窗口居中展示,设置背景色营造整体视觉氛围 */
body {display: flex;justify-content: center;align-items: center;min-height: 100vh; /* 让body铺满整个视口高度 */background: #114b64; /* 主色调,与楼梯颜色呼应 */
}/* 窗口容器:模拟圆润的展示窗口,限定动画可视范围 */
.window {position: relative; /* 为内部绝对定位的元素提供参考 */width: 340px;height: 480px;background: #fff; /* 窗口背景为白色,突出楼梯主体 */border-radius: 170px; /* 大圆角营造圆润的窗口质感 */border: 4px solid #114b64; /* 外边框与主色调一致,增加层次感 */box-shadow: 0 0 0 12px #fff; /* 外层白色阴影,强化窗口轮廓 */overflow: hidden; /* 隐藏超出窗口的内容,实现视觉截断,打造无限感 */
}/* 窗口装饰红点:模拟指示灯,增加动画生动感 */
.window::before{content:""; /* 伪元素必须设置content属性 */position: absolute;top: 190px;left: calc(50% + 45px); /* 精准定位,居中偏右 */width: 30px;height: 30px;border-radius: 50%; /* 设置为圆形 */background: #f44336; /* 红色醒目,提升视觉亮点 *//* 红点弹跳动画:ease-in-out让弹跳更自然,infinite循环播放 */animation: bounce 1s ease-in-out infinite;
}/* 定义红点的弹跳动画关键帧 */
@keyframes bounce{0%,100%{ /* 动画起始/结束状态:轻微上移 */transform: translateY(-1px);}50%{ /* 动画中间状态:向下弹跳,形成起伏效果 */transform: translateY(-40px);}
}/* 楼梯容器:承载所有楼梯层级,负责整体位移动画 */
.window .stair {position: absolute;width: 100%;right: calc(-100% + 0px); /* 初始位置偏右,为位移动画预留空间 */top: 100px; /* 垂直定位,让楼梯从窗口上方开始展示 *//* 楼梯整体位移动画:linear匀速播放,infinite循环实现“无限”效果 */animation: stairs 1s linear infinite;
}/* 定义楼梯容器的位移动画:核心的无限楼梯视觉效果 */
@keyframes stairs {0% { /* 动画起始状态:无位移 */transform:  translateX(0) translateY(0);}100% { /* 动画结束状态:向右+向上位移,模拟楼梯向上延伸 */transform: translateX(40px) translateY(-40px);}
}/* 单个楼梯层级样式:通过自定义属性--i控制位置,形成阶梯排列 */
.window .stair span {position: absolute;/* 垂直位置:每个楼梯层级间隔40px,--i为1~10,实现垂直分层 */top: calc(var(--i ) * 40px);/* 水平位置:与垂直方向对应,形成斜向楼梯的视觉效果 */right: calc(var(--i ) * 40px);width: 100%;min-height: 40px; /* 楼梯的高度,保证层级明显 */background: #114b64; /* 楼梯颜色与主色调一致,视觉统一 */border-bottom: 4px solid #fff; /* 白色底边,区分每个楼梯层级 */border-top-left-radius: 6px; /* 左上角圆角,让楼梯边角更柔和 */
}

是不是超简单?整个效果的关键就在于.stair的位移动画,配合每个 span 通过--i自定义属性的位置计算,再加上overflow: hidden的视觉截断,就营造出了 “无限楼梯” 的效果。

大家可以试着修改一下颜色、动画时长或者楼梯的高度,看看能调出什么不一样的效果~如果有其他好玩的 CSS 小动画想法,也欢迎在评论区聊聊。

本文由mdnice多平台发布

http://www.jsqmd.com/news/369302/

相关文章:

  • 专科生必看!最受喜爱的AI论文网站 —— 千笔·专业学术智能体
  • 无人机培训学校哪家性价比高,AOPA培训价格大揭秘 - mypinpai
  • 2026年京津冀地区靠谱的税务规划共享财务机构排名 - 工业品网
  • 每日面试题分享180:如果发现Redis内存溢出了怎么办?
  • 2026年工业除尘器领域企业推荐:张家港市鑫圣威机械有限公司,除尘器配件及多类型除尘器专业供应商 - 品牌推荐官
  • 2026年中山PVC地板生产厂排名,口碑好售后佳的厂家有哪些? - 工业推荐榜
  • 2026通风天窗厂家推荐:靖江市坦贝尔环境科技,多类型排烟通风天窗专业制造 - 品牌推荐官
  • Boost电路 simulink 仿真 boost 电路模块搭建和用传递函数进行验证 电流开环...
  • 好用的小型燃气锅炉品牌有哪些,远大锅炉是不错之选 - 工业设备
  • 2026年磨床设备推荐:无锡市琦明机床有限公司,全系内圆磨床与深孔磨床专业供应 - 品牌推荐官
  • 2026年胶辊厂家实力推荐:南通迅达橡塑制造有限公司,复膜/聚氨酯/硅胶/橡胶胶辊全品类供应 - 品牌推荐官
  • 2026年锻造法兰/液压法兰/低温法兰/不锈钢对焊法兰生产厂家推荐:上海结申管件制造有限公司 - 品牌推荐官
  • 真心不骗你!AI论文平台 千笔AI VS WPS AI,专为本科生打造!
  • 2026年PCBA一站式服务推荐:东莞市金而特电子有限公司,焊接/组装/贴片/插件全流程覆盖 - 品牌推荐官
  • 2026年数控/立式/钢板/激光/铝板/不锈钢刨槽机厂家推荐:江苏智库上锻科技全系供应 - 品牌推荐官
  • 定稿前必看!降AIGC网站 千笔 VS 锐智 AI,专科生专属高效选择!
  • 2026年工业铝材定制选购攻略,佛山靠谱的品牌有哪些 - 工业品牌热点
  • 2026年热门的装配式支吊架/综合支吊架厂家选购参考建议 - 品牌宣传支持者
  • 细聊海漫钢构创新能力,内蒙古地区钢构彩板好用排名 - 工业品网
  • YOLOv12改进策略【独家融合改进】| RCSOSA + EUCB + CSFCN
  • 版本答案之一:VS Code + Claude + ccSwitch
  • 2026年矿物铸件厂家推荐:山东克莱蒙特新材料科技,无机/聚合物/机架/底座全系供应 - 品牌推荐官
  • 2026年皂化级/工业级/99.5%/95%/98%甘油供应商推荐:潍坊晨星化工全品类覆盖 - 品牌推荐官
  • 计算波动幅度
  • kali linux设置中文方法 汉化教程
  • 2026年危化品强力吸油毡厂家推荐:扬州三江环安设备有限公司,多场景适用解决方案 - 品牌推荐官
  • 2026年钻杆/型钢/钢管内外壁除锈设备厂家推荐:上海固宇自动化多场景解决方案 - 品牌推荐官
  • 2026年烘干设备厂家推荐:郑州市东鼎干燥设备有限公司,秸秆/滚筒/原煤/木屑烘干机全系供应 - 品牌推荐官
  • 2026年贵阳事业单位考试培训品牌排名,中志教育口碑良好 - myqiye
  • 加油卡回收平台横向对比:甄选最佳服务与安全流程 - 团团收购物卡回收