Three.js中文网 Three.js中文网
首页
免费视频
系统课 (opens new window)
  • Three.js基础课程
  • Vue3+Threejs 3D可视化
  • Threejs进阶课程
  • 展厅3D预览漫游
  • Threejs Shader
  • Blender建模基础
  • Three.js基础课程(旧版本) (opens new window)
  • 文章
WebGPU教程
  • WebGL教程
  • WebGL教程(旧版本) (opens new window)
3D案例
  • 本站部署(打开快) (opens new window)
  • 原英文官网文档 (opens new window)
首页
免费视频
系统课 (opens new window)
  • Three.js基础课程
  • Vue3+Threejs 3D可视化
  • Threejs进阶课程
  • 展厅3D预览漫游
  • Threejs Shader
  • Blender建模基础
  • Three.js基础课程(旧版本) (opens new window)
  • 文章
WebGPU教程
  • WebGL教程
  • WebGL教程(旧版本) (opens new window)
3D案例
  • 本站部署(打开快) (opens new window)
  • 原英文官网文档 (opens new window)
Web3D系统课程视频
  • 0.学前说明

  • 1.Three.js快速入门

  • 2.几何体BufferGeometry

  • 3.模型对象、材质

  • 4.层级模型

  • 5.顶点UV坐标、纹理贴图

  • 6.加载外部三维模型(gltf)

  • 7.PBR材质与纹理贴图

  • 8.渲染器和前端UI界面

    • 1. three.js Canvas画布布局
    • 2. UI交互界面与Canvas画布叠加
      • 3. UI交互按钮与3D场景交互
      • 4. Three.js背景透明度
      • 5. Three.js渲染结果保存为图片
      • 6. 深度冲突(模型闪烁)
      • 7. 模型加载进度条
    • 9.生成曲线、几何体

    • 10.相机基础

    • 11.光源和阴影

    • 12.精灵模型Sprite

    • 13.后处理EffectComposer

    • 14.射线拾取模型

    • 15.场景标注标签信息

    • 16.关键帧动画

    • 17.动画库tween.js

    • Three.js教程
    • 8.渲染器和前端UI界面
    郭隆邦
    2023-01-27
    目录

    2. UI交互界面与Canvas画布叠加

    # UI交互界面与Canvas画布叠加

    本节课把threejs Cavnas画布和HTML元素叠加布局时候,可能遇到问题演示下,以后遇到类似的问题知道怎么排查。

    # 插入div元素

    在课程课件演示文件.html中插入一个div元素,你会看到地址元素影响canvas元素布局

    <div style="color: #ff0000;">红色</div>
    

    # canvas画布绝对定位

    如果你想设置threejs Canvas画布的style属性,可以通过renderer.domElement访问。

    // canvas画布绝对定位
    renderer.domElement.style.position = 'absolute';
    renderer.domElement.style.top = '0px';
    renderer.domElement.style.left = '0px';
    

    这时候你会发现你插入的div元素看不到了,这涉及到z-index的CSS布局知识点,具体说就是当两个HTML元素位置重合,谁在上谁在下的问题。

    # 设置z-index

    通过z-index改变HTML元素上下叠加关系,如果你忘记了CSS该属性,可以复习下。

    renderer.domElement.style.zIndex = -1;
    
    <div style="color: #ff0000;z-index:2;position: relative;">红色</div>
    

    注意默认的定位position: static;设置z-index无效。

    # 插入的div元素绝对定位

    不设置three.js Canvas元素style,插入的div元素绝对定位,这样也可以把div元素叠加到threejs Canvas花画布上

    <div style="color: #ff0000;z-index:2;position: absolute;">红色</div>
    
    1. three.js Canvas画布布局
    3. UI交互按钮与3D场景交互

    ← 1. three.js Canvas画布布局 3. UI交互按钮与3D场景交互→

    Theme by Vdoing | Copyright © 2016-2025 豫ICP备16004767号-2
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式