将 WebGL 动画作为背景

简介: 大家好我是FLy哥,又到了周末了, 这次分享的文章不是很长,如果你正在或者将来会涉及到你的博客,就是如何在正常的网页中加入酷炫的3D效果:图片webgl 动画上面的3D动画 其实就是整个网页的背景,然后你的html 页面 还是正常写的,互不干涉,其实还就是一个字, 让自己的页面看着更加花里胡哨的图片花里胡哨我们看看如何解决吧???有 2 种方法:方法1将画布的 CSS 属性 position 设置成 fixed#canvas { position: fixed; left: 0; top: 0; z-index: -1; ...}并将 z-index 设置成 -

大家好我是FLy哥,又到了周末了,  这次分享的文章不是很长,如果你正在或者将来会涉及到你的博客,就是如何在正常的网页中加入酷炫的3D效果:


640 (8).gif


webgl 动画


上面的3D动画 其实就是整个网页的背景,然后你的html 页面 还是正常写的,互不干涉,其实还就是一个字, 让自己的页面看着更加花里胡哨的



我们看看如何解决吧???


有 2 种方法:


方法1


  • 将画布的 CSS 属性 position 设置成 fixed


#canvas { position: fixed; left: 0; top: 0; z-index: -1; ...}


并将 z-index 设置成 -1。


这么做的缺点是,你的 JavaScript 代码必须嵌入在页面中, 并且如果你的页面很复杂,需要确保 WebGL 代码中的 JavaScript 和页面中的 JavaScript 不冲突。


方法2



  • 使用 iframe


在你的网页中插入一个 iframe,例如:


<iframe id="background" src="background.html"></iframe><div>  这里是你的内容</div>


然后给 iframe 设置样式,填满窗口并且作为背景。代码几乎和上面设置画布一样,除了将 border 设置成 none,因为 iframe 默认有边框。


#background {    
  position: fixed;   
  width: 100vw;   
  height: 100vh;   
  left: 0;    
  top: 0;   
  z-index: -1;    
  border: none;    
  pointer-events: none;
}


主要是这个两个方式


源码奉上


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    #bg {
        position: fixed;
        width: 100vw;
        height: 100vh;
        left: 0;
        top: 0;
        z-index: -1;
        border: none;
        pointer-events: none;
    }
    h1 {
        display: block;
        display: flex;
        justify-content: center;
        align-items: center;
    }
</style>
<body>
    <iframe src="https://webglfundamentals.org/webgl/background.html" id='bg'></iframe>
    <h1>
        欢迎来到动效世界---
    </h1>
</body>
</html>
相关文章
|
缓存 运维 监控
网站性能测试
【4月更文挑战第8天】网站性能测试
297 1
|
机器学习/深度学习 自然语言处理 数据处理
什么是数据标注
什么是数据标注
1849 0
Maximum call stack size exceeded报错的原因及解决办法
Maximum call stack size exceeded报错的原因及解决办法
3389 0
|
前端开发 JavaScript
富文本编辑器wangEdiotr,编辑内容后,重新打开报错Uncaught (in promise) Error: Cannot find a descendant at path
富文本编辑器wangEdiotr,编辑内容后,重新打开报错Uncaught (in promise) Error: Cannot find a descendant at path
2287 1
|
7月前
|
人工智能 搜索推荐 程序员
通义灵码全新上线模型选择功能,新增支持 DeepSeek-V3 和 DeepSeek-R1 模型
阿里云百炼平台推出DeepSeek-V3、DeepSeek-R1等6款新模型,丰富AI模型矩阵。通义灵码随之升级,支持Qwen2.5、DeepSeek-V3和R1系列模型选择,助力AI编程。开发者可通过VS Code和JetBrains IDE轻松切换模型,实现复杂编码任务的自动化处理,进一步降低AI编程门槛,提供个性化服务。
1314 20
|
Linux
【PyAutoGUI操作指南】05 屏幕截图与图像定位:截图+定位单个目标+定位全部目标+灰度匹配+像素匹配+获取屏幕截图中像素的RGB颜色
【PyAutoGUI操作指南】05 屏幕截图与图像定位:截图+定位单个目标+定位全部目标+灰度匹配+像素匹配+获取屏幕截图中像素的RGB颜色
1550 0
|
对象存储
如何设置对象存储OSS跨域(CORS)?
CORS的中文名是跨域资源共享,是HTML5提供的标准跨域解决方案。跨域访问,也叫JavaScript跨域访问问题,是浏览器出于安全考虑而设置的一个限制,即同源策略。当来自于A网站的页面中的JavaScript代码希望访问B网站的时候,浏览器会拒绝该访问,因为A、B两个网站是属于不同的域。
9363 0
|
12月前
openpyxl打开表格警告|4-9
openpyxl打开表格警告|4-9
|
存储 前端开发 数据可视化
超详细图解说明:一个代码仓库如何管理多个项目、且代码提交互不影响。orphan分支的使用
这篇文章详细图解了如何使用Git的`--orphan`参数创建孤立分支来管理代码仓库中的多个项目,确保不同项目的代码提交互不影响,并提供了解决实际使用中可能遇到的问题的方法。
超详细图解说明:一个代码仓库如何管理多个项目、且代码提交互不影响。orphan分支的使用