将 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系列之抗锯齿和深度缓存
|
4月前
|
图形学 iOS开发
Unity——动效与缓动动画
Unity——动效与缓动动画
|
移动开发 前端开发 JavaScript
【前端动画】实现动画的6种方式
【前端动画】实现动画的6种方式
925 0
|
图形学
unity动画之帧动画使用
使用unity实现lol寒冰帧动画
unity动画之帧动画使用
|
前端开发 iOS开发
巧用渐变实现高级感拉满的背景光动画
巧用渐变实现高级感拉满的背景光动画
173 0
巧用渐变实现高级感拉满的背景光动画
SwiftUI—使用withAnimation制作缩放和渐隐动画
SwiftUI—使用withAnimation制作缩放和渐隐动画
894 0
SwiftUI—使用withAnimation制作缩放和渐隐动画
|
前端开发 数据可视化
threejs 贴图动画总结
threejs 贴图动画总结
threejs 贴图动画总结
|
前端开发 图形学 Python
动画系统之2D动画
动画系统之2D动画
144 0
动画系统之2D动画
Cocos2d-x-v3中3D网格特效动画的应用
Cocos2d-x-v3中3D网格特效动画的应用
147 0
|
Web App开发 前端开发 JavaScript
使用WebGL + Three.js制作动画场景
使用WebGL + Three.js制作动画场景 3D图像,技术,打造产品,还有互联网:这些只是我爱好的一小部分。 现在,感谢WebGL的出现-一个新的JavaScriptAPI,它可以在不依赖任何插件的情况下渲染浏览器中的3D图像-这让3D渲染操作变得异常简单。
2092 0