将 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>
相关文章
|
存储 编解码 缓存
webgl系列之抗锯齿和深度缓存
前言 大家好我是Fly 哥, 这是今年webgl 系列的第三篇文章, 如果你之前的两篇文章没看的话,建议先看一下,然后再来看这一篇文章 Webgl 系列之buffer的使用 webgl系列之对光栅化的理解 上一篇文章,任何虚拟3维世界的转换到二维屏幕中通过「采样」 也就判断屏幕上的每个像素中心点是不是在三角形内部的得到了 下面这幅图: 图片 走样之前 这时候有同学问, 这不像三角形哇, 这个其实用个专业的词—— 「锯齿」 , 我的理解 一个三角形经过光栅化后, 得到屏幕上每一个像素点 组成的像素点的集合。那到底是经过什么样的处理得到下面这张图: 图片 final 反走样 其实出现上面
webgl系列之抗锯齿和深度缓存
|
2月前
Threejs实现动画
这篇文章讲解了如何使用Three.js实现动画效果,并介绍了如何控制动画的时间轴。
74 3
Threejs实现动画
|
2月前
ThreeJs使用tweenjs动画库制作动画
这篇文章介绍了如何在Three.js中使用Tween.js动画库来简化动画制作流程,并演示了如何通过简单的代码实现动画效果。
109 1
ThreeJs使用tweenjs动画库制作动画
|
2月前
|
JavaScript
ThreeJs实现简单的动画
这篇文章介绍了如何使用Three.js实现简单的动画效果,并提供了利用requestAnimationFrame动态改变模型状态的代码示例。
66 0
ThreeJs实现简单的动画
|
2月前
|
JavaScript 前端开发
使用 WebGL 创建 3D 动画
【10月更文挑战第3天】使用 WebGL 创建 3D 动画
|
4月前
|
缓存 图形学
Unity3D学习笔记12——渲染纹理
Unity3D学习笔记12——渲染纹理
46 2
|
6月前
|
资源调度 前端开发 JavaScript
web实现酷炫的canvas粒子动画背景
web实现酷炫的canvas粒子动画背景
143 0
|
移动开发 前端开发 JavaScript
【前端动画】实现动画的6种方式
【前端动画】实现动画的6种方式
1246 0
|
图形学
unity动画之帧动画使用
使用unity实现lol寒冰帧动画
|
前端开发 iOS开发
巧用渐变实现高级感拉满的背景光动画
巧用渐变实现高级感拉满的背景光动画
235 0
巧用渐变实现高级感拉满的背景光动画