ThreeJs中使用lil-gui无法改变其所属父元素

项目场景:

之前一直在研究Threejs,遇到一个很头疼的问题!就是我自己使用了Vite+V3创建了一个项目框架,用来记录自己学习Three的一个过程,但是里面就存在了一个问题,我们在new GUI()后不能改变其父级元素,就像默认父级元素在body上一样


问题描述

GUI父级元素无法被改变 

let gui = new GUI()

原因分析:

正好这段时间有空,本主就疯狂去找了lil-gui的官方文档,还好作者是个好人,还专门写了一篇web版的官方文档,然后在插件初始化的文档里面我们就找到了它是可以在初始化对象里面写入container元素的实例的。

new GUI( { container: document.getElementById( 'custom' ) } );

但是加入了这个父级元素的实例之后又会出现一个问题,这个页面纵向布局将会被打破,详情如下:

加入前

加入后:
网页头部标签直接给我压扁了


解决方案:

然后我又去API文档疯狂找,最后是通过gui的domElement的style属性修改了子元素的样式,最后一步就是修改父级元素的定位方式,根据“子绝父相”的原则

gui = new GUI({ container: threeContainer.value,  });
gui.domElement.style = 'position: absolute; top: 0; right: 0;';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值