JS与CSS结合实现螺旋及旋涡光感动画特效
作者:像素猫时间:2026-10-23 21:36:07浏览:376
本文介绍如何利用JavaScript与CSS3结合,实现两种不同风格的光感视觉效果。通过动态生成DOM节点并设置旋转与位移属性,配合CSS关键帧动画,分别呈现螺旋式沉浸与旋涡式远观的视觉体验。文章包含完整HTML结构、样式定义及JS逻辑代码,适合前端开发者参考学习。
光感特效概述
本文将通过JavaScript与CSS的结合,展示一种具有视觉冲击力的光感特效实现方案。内容包含具体的效果演示及代码细节,供读者参考学习。
螺旋式沉浸效果
第一种效果呈现为螺旋式的沉浸视觉感受,通过特定的参数配置实现中心发散的光影动态。

旋涡式远观效果
第二种效果表现为旋涡式的远观视觉感受,调整景深等属性可改变视觉呈现的形态。

具体实现逻辑如下:
核心代码实现
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>光感效果</title>
</head>
<style>
html,body{
height: 100%;
overflow: hidden;
}
body{
background-color: #c08eaf;
}
.main{
/* 中心点 */
width: 8px;
height: 8px;
/* background-color: aqua; */
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
/*
*景深,修改此属性可获得如上图展示的不同效果
*如:图一的perspective为400px
*图二的perspective为800px
*修改为其它值还可获得更多效果
*/
perspective: 800px;
}
.main i{
/* 动点 */
width: 8px;
height: 8px;
border-radius: 50%;
background:white;
box-shadow: 0 0 10px 0 white;
position: absolute;
/* 动画 */
animation: run 3s ease-in-out infinite;
}
/* .main i:nth-child(1){
transform: rotate(0deg) translateX(80px);
} */
/* 动画 */
@keyframes run{
0%{
opacity: 0;
}
10%{
opacity: 1;
}
100%{
opacity: 1;
/* 3D动画效果 */
transform: translate3d(0,0,560px);
}
}
</style>
<body>
<div class="main" id="main">
</div>
</body>
<script type="text/javascript">
//获取元素
var m = document.getElementById("main");
for(var i = 0;i<60;i++){
//创建元素
var newNode = document.createElement("i");
//添加元素
m.appendChild(newNode)
//设置旋转角度 及x轴方向位移距离
newNode.style.transform=`rotate(${i*12}deg) translateX(80px)`
//设置动画延迟
newNode.style.animationDelay=`${i*0.05}s`
}
</script>
</html>
以上即为该光感特效的完整实现内容,希望能为读者的前端开发工作提供有益参考。
作者最新文章
js-cookie 安装与基础用法:set、get、remove 详解
2026-11-05 16:35:06
适合JavaScript初学者的实战项目:制作简易待办事项列表
2026-11-05 16:17:07
JS打开新标签页时怎么通过URL传递参数
2026-11-05 12:21:08
sigma.js 自定义节点样式:设置颜色、大小及标签显示的技巧
2026-11-05 09:55:00
JS 生成的统计图怎么导出为 PNG 图片或 PDF 文件?
2026-11-05 09:37:58
