html+css+js实现星空特效

本文已同步到凯文的博客https://kevindurant-source.github.io./
废话不多说直接上代码,效果是一个星空旋转和文字逐渐出现的效果,文字是逐渐出现的,星空中的小球是旋转的

效果视频博主已发往b站:效果实现地址

效果:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>星空特效</title><style>*{margin: 0;padding: 0;}body{overflow: hidden;background-color: #000;}h1{position: absolute;line-height: 50px;letter-spacing: 5px;color: #fff;width: 300px;top: 40%;left: 50%;margin-left: -200px;font-size: 30px;}</style>
</head>
<body><h1></h1><canvas></canvas><script>var canvas=document.querySelector("canvas");ctx=canvas.getContext("2d");w=canvas.width=window.innerWidth;h=canvas.height=window.innerHeight;var canvas2=document.createElement("canvas");ctx2=canvas2.getContext("2d");canvas2.width=100;canvas2.height=100;var a=canvas2.width/2;var grandient=ctx.createRadialGradient(a,a,0,a,a,a);grandient.addColorStop(0.025,'#fff');grandient.addColorStop(0.1, 'hsl(220,59%,18%)');grandient.addColorStop(0.025, 'hsl(220,60%,33%)');grandient.addColorStop(1,"transparent");ctx2.fillStyle=grandient;ctx2.beginPath();ctx2.arc(a,a,a,0,Math.PI*2);ctx2.fill();ctx2.closePath();var stars=[];var count=0;function Star(){this.pos=Math.floor(Math.random()* w/2-100);this.r=Math.floor(Math.random()*100);this.dx=w/2;this.dy=h/2;this.rand=Math.floor(Math.random()*360);this.speed=this.pos/100000;stars[count]=this;count ++;}Star.prototype.draw=function(){var x=Math.sin(this.rand+1)* this.pos+this.dx;y=Math.cos(this.rand)*this.pos/2+this.dy;ctx.drawImage(canvas2,x-this.r/2,y-this.r/2,this.r,this.r);this.rand=this.rand+this.speed;}for(var i=0;i<1000;i++){new Star();}function anmit(){ctx.clearRect(0,0,w,h);for(var i=0;i<stars.length;i++){stars[i].draw();}requestAnimationFrame(anmit);}anmit();var oH=document.getElementsByTagName("h1")[0];var arr=["这世间过于俗气","不像你一般","浩瀚星辰,温柔婉转"],index=0,arrLen=arr.length,strLen=arr[0].length;pos=0,row=0,str="",timer=null;function print() {while(row<index){str=str+arr[row]+"<br>";row++;}oH.innerHTML=str+arr[index].substring(0,pos);if(pos==strLen){index++;pos =0;if(index<arr.length){strLen=arr[index].length;timer=setTimeout(print,250);}}else{pos++;timer=setTimeout(print,250);}}setTimeout(print,250);</script>
</body>
</html>

html+css+js实现星空特效相关推荐

  1. 520情人节程序员的浪漫告白~html+css+js浪漫星空❤爱心3D相册 (含音乐)

    ❉ 来自程序员的浪漫告白~html+css+js浪漫星空❤爱心3D相册 (含音乐)可自定义编辑文字 一年一度的/520情人节/七夕情人节/生日礼物/告白师妹/圣诞节/元旦节跨年/程序员表白,是不是要给 ...

  2. 前端笔记(Html+CSS+JS+DOM+网页特效+jQuery+HTML5+CSS3+canvas 标签+web开发重难点+面向对象+AJAX)

    第1章Html Html:超级文本标记语言(HyperText Markup Language),在浏览器上运行的一种标记语言. 就是给文本加上含有语义的标签. 接下来应该学习更多具体语义标签: 一. ...

  3. html5+css+js实现动画特效,人物动画

    BoyWalk.js文件: /**  * 小孩走路  * @param {[type]} container [description]  */ function BoyWalk() { var co ...

  4. html+css+js炫酷特效+加速粒子效果

    完整目录 1.效果展示 2.思路 2.0布局 2.1让火箭 位于屏幕的中心--flex 2.2让火箭 上下不停的移动 2.3利用::after 制造 尾部的火焰 2.3使用js创建 < i &g ...

  5. Three.js无限星空特效

    效果 代码 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8 ...

  6. HTML网页设计期末课程大作业 ~中国茶文化5页面带轮播(HTML+CSS+JS)~ 学生网页设计作业源码

    HTML网页设计期末课程大作业 ~ 中国茶文化5页面带轮播(HTML+CSS+JS)~ 学生网页设计作业源码 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从 ...

  7. HTML期末大作业—— 游戏网页(5个页面) ~ 全屏游戏美术大赛作品征集网页 HTML+CSS+JS ~ web课程设计网页规划与设计

    HTML期末大作业-- 游戏网页(5个页面) ~ 全屏游戏美术大赛作品征集网页 HTML+CSS+JS ~ web课程设计网页规划与设计 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感 ...

  8. HTML期末大作业~ 明星林依晨(7页)带留言 学生网页设计作业源码(HTML+CSS+JS)

    HTML期末大作业~ 明星林依晨(7页)带留言 学生网页设计作业源码(HTML+CSS+JS) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求 ...

  9. HTML5期末大作业:网站——美丽家乡(含HTML+CSS+JS源码及课程设计文档)

    HTML5期末大作业:网站--美丽家乡(含源码及课程设计文档) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手?网页要求的总数量太多?没有合适的模板?等 ...

  10. HTML期末作业课程设计期末大作业——体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码)

    HTML期末作业课程设计期末大作业--体育排球5页面带注册HTML+CSS+JS(学生网页设计作业源码) 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HTML网页作业无从下手 ...

最新文章

  1. 几个常用的流量统计工具比较
  2. C#接口-接口的继承
  3. leetcode 202. Happy Number
  4. harmonyOS智慧屏,在鸿蒙HarmonyOS智慧屏上实现一款粗糙的计算器
  5. 基于强跟踪卡尔曼滤波的隔振系统故障诊断——matab simulink仿真
  6. 06-10 Jenkins 配置 allure 报告
  7. 错误 ORA-01102: cannot mount database in EXCLUSIVE mode 的处理方法
  8. Linux---字符设备驱动程序设计
  9. Windows命令--wmic
  10. 计算机休眠唤醒后分辨率变小了,WIN10休眠唤醒后,所有的窗口都跑到了左上角,如何解决?...
  11. Codeforces Round #548 C. Edgy Trees
  12. 通俗易懂——css长度单位:px、em、rem、vh、vw、in、...
  13. PyCharm + PySide2/PySide6 外部工具配置
  14. 矩阵论 施密特正交化的几何解释_最直观图解法
  15. unity键盘控制移动操作(WASD)篇
  16. 大端字节序和小端字节序
  17. SAP 发送外部邮件(增加到邮件队列)
  18. 深圳软件测试培训:Pytest+Appium+Allure 做 UI 自动化的那些事
  19. 中国知音导出mysql_MySQL常用函数,你真得看看!
  20. Moving Tables(贪心)

热门文章

  1. 从不确定性中寻找“确定性”——一位交管从业者对行业发展趋势的思考
  2. 关于DSP的SCI通信学习
  3. 华为认证大数据工程师 HCIA-Big Data V3.5(中文版) 发布通知
  4. 第一章.计算机组成与体系结构
  5. Class6 基于ECS和NAS搭建个人网盘
  6. python基础 class6(基本统计值计算、文本词频统计)
  7. php支付宝的签名处理,PHP实现RSA签名生成订单功能【支付宝示例】
  8. python爬取bilibili弹幕_爬取Bilibili弹幕并制作词云图
  9. linux中 kill USR1和USR2 的区别
  10. CI框架使用PHPExcel生成快递面单